CN116150731A - Method for preventing MCU internal program from plagiarism based on UID - Google Patents

Method for preventing MCU internal program from plagiarism based on UID Download PDF

Info

Publication number
CN116150731A
CN116150731A CN202211500654.1A CN202211500654A CN116150731A CN 116150731 A CN116150731 A CN 116150731A CN 202211500654 A CN202211500654 A CN 202211500654A CN 116150731 A CN116150731 A CN 116150731A
Authority
CN
China
Prior art keywords
mcu
process identifier
random number
server
program
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
CN202211500654.1A
Other languages
Chinese (zh)
Other versions
CN116150731B (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 CN202211500654.1A priority Critical patent/CN116150731B/en
Publication of CN116150731A publication Critical patent/CN116150731A/en
Application granted granted Critical
Publication of CN116150731B publication Critical patent/CN116150731B/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication

Abstract

The invention discloses a method for preventing an MCU internal program from being plagiarized based on UID, which comprises the following steps: transmitting, by the authorizing device, the first process identifier to the MCU; after the MCU receives the first process identifier, generating, by the MCU, a second process identifier based on the first process identifier and a predefined mapping table; transmitting a random number request instruction to a server by an authorization device, wherein the random number request instruction at least comprises a UID, a first process identifier and a hardware identifier of the authorization device, and the UID corresponds to the hardware identifier of the authorization device; after the server receives the random number request instruction, verifying, by the server, the legitimacy of the authorizing device based on the UID, the first process identifier, and the hardware identifier of the authorizing device; after the server verifies that the authorized device is a legitimate authorized device, the first random number is sent by the server to the authorized device.

Description

Method for preventing MCU internal program from plagiarism based on UID
Technical Field
The invention relates to the technical field of MCU safety protection, in particular to a method for preventing an MCU internal program from being plagiarized based on UID.
Background
The micro control unit (Microcontroller Unit; MCU), also called as single chip microcomputer (Single Chip Microcomputer) or single chip microcomputer. The MCU can store a program for operating a control object, and in a specific scenario, at present, almost all electronic injection vehicles are internally provided with the MCU, and the vehicle-mounted MCU can control gear shifting logic, a brake auxiliary system, a coordination relationship between a throttle opening and an accelerator pedal, and the like of the vehicle. Some programs in MCUs are open-source general programs, which do not have security requirements, but for example, some programs in high-end cars require security. For example, some well-known high-grade automobiles have multiple driving modes (such as comfort mode, movement mode, movement+mode and the like), the different modes of the automobiles are actually realized by adjusting parameters such as gear shifting logic, matching relation between throttle opening and accelerator pedal, response amplitude of a cushioning shock absorbing system and the like through an MCU internal program, under the condition that mechanical components are completely consistent, a set of good MCU internal program can greatly improve user experience, the potential of a mechanical structure can be exerted, and the characteristics reflected by the MCU internal program are also selling points of key propaganda of various large automobile companies. Thus, such MCU internal programs (i.e., operating logic for operating the car) are contents that each large car company needs to keep secret.
At present, a common method for unauthorized copying of an internal program of an MCU mainly comprises the steps that an unauthorized user obtains a user identity identifier UID through various means, and then the UID is used for illegally logging in or accessing the MCU, so that the operation logic of the MCU is read from the MCU or the internal program of the MCU is directly obtained. How to prevent such unauthorized copying of the internal programs of the MCU is a problem faced by the current prior art.
Disclosure of Invention
In order to achieve the above purpose, the present invention provides a method for preventing the internal program of an MCU from being plagiarized based on UID, which is characterized in that the method comprises the following steps:
transmitting, by the authorizing device, a first process identifier to the MCU, wherein the first process identifier is selected from a list of process identifiers;
after the MCU receives the first process identifier, generating a second process identifier by the MCU based on the first process identifier and a predefined mapping table, wherein the predefined mapping table is not stored in the authorization device;
transmitting a random number request instruction to a server by an authorization device, wherein the random number request instruction at least comprises a UID, a first process identifier and a hardware identifier of the authorization device, and the UID corresponds to the hardware identifier of the authorization device;
after the server receives the random number request instruction, verifying, by the server, the legitimacy of the authorizing device based on the UID, the first process identifier, and the hardware identifier of the authorizing device;
after the server verifies that the authorized device is a legitimate authorized device, the first random number is sent by the server to the authorized device.
In a preferred embodiment, the method further comprises:
after the MCU generates the second process identifier, the MCU transmits the second process identifier to the server;
after the second process identifier is received by the server and the server has sent the first random number to the authorizing device, the first random number is sent by the server to the MCU based on the mapping between the first process identifier and the second process identifier.
In a preferred embodiment, the method further comprises:
if the server verifies that the authorizing device is not a legitimate authorizing device, the server does not send the first random number to the authorizing device.
In a preferred embodiment, the method further comprises:
after the authorizing device receives the first random number, the authorizing device sends a first program reading command to the MCU, wherein the first program reading command comprises a first process identifier and the first random number;
after the MCU receives the first program reading command, determining whether the first program reading command comprises a first process identifier and a first random number by the MCU;
after the MCU determines that the first process identifier and the first random number are included in the first program read command, a first segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the licensed device.
In a preferred embodiment, the method further comprises:
after the authorizing device receives the first segment of the program and the second process identifier included in the MCU, transmitting, by the authorizing device, the second process identifier to the server;
after the server receives the second process identifier sent by the authorizing device, verifying, by the server, a mapping relationship between the second process identifier and the first process identifier;
after the server successfully verifies the mapping relation between the second process identifier and the first process identifier, sending a continued process instruction to the authorization device by the server;
after the authorizing device receives the continuous process instruction, the authorizing device sends a second program reading command to the MCU, wherein the second program reading command comprises a first process identifier and a second random number, and the second random number is generated based on the first random number and a predefined rule.
In a preferred embodiment, the method further comprises:
after the MCU receives the second program reading command, generating a second random number by the MCU based on the first random number and a predefined rule;
after the MCU generates the second random number, determining, by the MCU, whether the second program read command includes the first process identifier and the second random number;
after the MCU determines that the first process identifier and the second random number are included in the second program read command, a second segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the authorizing device.
The present invention provides a non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium includes instructions therein, which when executed by a processor, cause the processor to:
transmitting, by the authorizing device, a first process identifier to the MCU, wherein the first process identifier is selected from a list of process identifiers;
after the MCU receives the first process identifier, generating, by the MCU, a second process identifier based on the first process identifier and a predefined mapping table;
transmitting a random number request instruction to a server by an authorization device, wherein the random number request instruction at least comprises a UID, a first process identifier and a hardware identifier of the authorization device, and the UID corresponds to the hardware identifier of the authorization device;
after the server receives the random number request instruction, verifying, by the server, the legitimacy of the authorizing device based on the UID, the first process identifier, and the hardware identifier of the authorizing device;
after the server verifies that the authorized device is a legitimate authorized device, the first random number is sent by the server to the authorized device.
In a preferred embodiment, the instructions, when executed by the processor, are further capable of causing the processor to:
after the MCU generates the second process identifier, the MCU transmits the second process identifier to the server;
after the second process identifier is received by the server and the server has sent the first random number to the authorizing device, the first random number is sent by the server to the MCU based on the mapping between the first process identifier and the second process identifier.
In a preferred embodiment, the instructions, when executed by the processor, are further capable of causing the processor to:
after the authorizing device receives the first random number, the authorizing device sends a first program reading command to the MCU, wherein the first program reading command comprises a first process identifier and the first random number;
after the MCU receives the first program reading command, determining whether the first program reading command comprises a first process identifier and a first random number by the MCU;
after the MCU determines that the first process identifier and the first random number are included in the first program read command, a first segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the licensed device.
In a preferred embodiment, the instructions, when executed by the processor, are further capable of causing the processor to:
after the authorizing device receives the first segment of the program and the second process identifier included in the MCU, transmitting, by the authorizing device, the second process identifier to the server;
after the server receives the second process identifier sent by the authorizing device, verifying, by the server, a mapping relationship between the second process identifier and the first process identifier;
after the server verifies the mapping relation between the second process identifier and the first process identifier, sending a continued process instruction to the authorization device by the server;
after the authorizing device receives the continuous process instruction, the authorizing device sends a second program reading command to the MCU, wherein the second program reading command comprises a first process identifier and a second random number, and the second random number is generated based on the first random number and a predefined rule;
after the MCU receives the second program reading command, generating a second random number by the MCU based on the first random number and a predefined rule;
after the MCU generates the second random number, determining, by the MCU, whether the second program read command includes the first process identifier and the second random number;
after the MCU determines that the first process identifier and the second random number are included in the second program read command, a second segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the authorizing device.
Compared with the prior art, the method for unauthorized copying of the MCU internal program has the advantages that an unauthorized user mainly obtains the user identity identifier UID through various means, and then uses the UID to illegally log in or access the MCU, so that the operation logic of the MCU is read from the MCU or the program in the MCU is directly obtained. Aiming at the problems in the prior art, the method of the invention mainly ensures the safety of the internal program of the MCU by avoiding that any user can log in or access the MCU only through UID verification.
Drawings
FIG. 1 is a schematic diagram of the architecture of one embodiment of the present invention.
FIG. 2 is a method flow diagram of one embodiment of the present 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 method for unauthorized copying of the internal program of the MCU is mainly that an unauthorized user obtains the user identifier UID through various means, and then uses the UID to illegally log in or access the MCU, so as to read the operation logic of the MCU from the inside of the MCU or directly obtain the program inside the MCU. Aiming at the problems in the prior art, the method of the invention mainly ensures the safety of the internal program of the MCU by avoiding that any user can log in or access the MCU only through UID verification.
Example 1
FIG. 1 is a schematic diagram of the architecture of one embodiment of the present invention. As shown, the entire system of the present invention may include an MCU, an authorized device, and a server. It will be understood by those skilled in the art that in the present invention, MCU refers to an MCU assembly comprising a complete set of means for implementing the method of the present invention, and not just to a MCU chip itself. For example, in the present invention, the MCU can communicate with the server, so the MCU in the present invention at least includes a transmitter and a receiver for receiving and transmitting information (the transmitter and the receiver are well known in the art and are not described in detail herein), and of course, the MCU in the present invention also includes the MCU chip itself, and the transmitter and the receiver are communicatively connected to the MCU chip itself. It should be understood by those skilled in the art that the authorization device referred to in the present invention includes an authorization device truly authorized by a manufacturer, and also includes a device disguised as an authorization device that has obtained the authorization device UID in an unauthorized manner, and these two types of devices are collectively referred to as authorization devices in the present invention, and in one example, the authorization device may be a handheld device, a notebook computer, a tablet computer, or the like.
Example 2
FIG. 2 is a method flow diagram of one embodiment of the present invention. As shown, the method of the present invention comprises the steps of:
step 21: transmitting, by the authorizing device, a first process identifier to the MCU, wherein the first process identifier is selected from a list of process identifiers; although the present invention refers to the authorized device truly authorized by the manufacturer and the device that has been disguised as an authorized device by the unauthorized means (or by any other means) as an authorized device collectively, for ease of discussion, the present invention will also refer to the authorized device truly authorized by the manufacturer as a legitimate authorized device and the device disguised as an illegitimate authorized device in the following description; in a specific embodiment, the automobile manufacturer (the invention only takes the automobile manufacturer as an example to describe the operation mode of the invention, the invention can obviously also be used in an MCU of a mechanical arm or other MCUs) stores a process identifier list into a read-only memory of a legal authorization device when the device for logging in or accessing the MCU is authorized (the device becomes the legal authorization device after authorization). It is obviously impossible for a car manufacturer to authorize an illegally authorized device, nor is it possible for an illegally authorized device to obtain a list of process identifiers from the car manufacturer. The process identifier list may be stored in a separate read-only memory of the legally authorized device and encrypted by a password, which other devices need to verify if they want to access. In the method of the invention, the user does not need to know the first process identifier, the first process identifier is only sent among the MCU, the authorizing device and the server, so the user does not read the process identifier list generally, thus the possibility of an illegal user obtaining the process identifier list is reduced to the greatest extent, and the authorizing device can be preloaded with a notification program which can be configured to send a notification that the process identifier list is read to the server by the authorizing device as long as the user reads the process identifier list, thereby more strongly preventing the illegal user from obtaining the whole process identifier list;
step 22: after the MCU receives the first process identifier, generating a second process identifier by the MCU based on the first process identifier and a predefined mapping table, wherein the predefined mapping table is not stored in the authorization device; in the present invention, one function of the process identifier is to mark a program read request of the legal authorized device, in a specific example, for example, the legal authorized device needs to read a shift logic program in the MCU, then the legal authorized device may allocate one process identifier for reading the shift logic program in the MCU, and if the legal authorized device needs to read a brake auxiliary program in the MCU later, then the legal authorized device may allocate another process identifier for reading the brake auxiliary program in the MCU, so that the MCU and the server may verify for reading the shift logic program in the MCU and two processes of the brake auxiliary program, respectively; the MCU of the invention does not allow the same device or multiple devices to read one or more programs of the MCU program at the same time; other roles of the process identifier will be further described in the subsequent embodiments. In one specific example, the predefined mapping table may be as shown in the following table:
TABLE 1
First Process identifier Second Process identifier
A FGG
B GAB
C ABE
D BCF
E CDG
F DEA
G EFB
As shown in the above table, the mapping relationship between the first process identifier and the second process identifier is completely irregular and is completely a corresponding relationship generated randomly, and the predefined mapping table may be updated periodically, for example, the predefined mapping table may be updated every day; of course, it is known from the method of the present invention that the predefined mapping table is stored at the server accordingly.
Step 23: transmitting a random number request instruction to a server by an authorization device, wherein the random number request instruction at least comprises a UID, a first process identifier and a hardware identifier of the authorization device, and the UID corresponds to the hardware identifier of the authorization device; in a specific example, binding the UID with the hardware identifier of the authorized device may increase the difficulty of the illegal authorized device accessing the MCU, e.g., the illegal authorized user needs to learn the UID and modify the hardware identifier of the illegal authorized device to pass the verification of the server;
step 24: after the server receives the random number request instruction, verifying, by the server, the legitimacy of the authorizing device based on the UID, the first process identifier, and the hardware identifier of the authorizing device; in a specific example, the UID may be an employee ID of the automobile manufacturer, and since the authorized user needs to frequently input the UID and the password when operating the authorized device, an illegal user can easily learn the UID and the password in various ways; in a specific example, the illegal user may acquire the first process identifier by intercepting the random number request instruction, but since the MCU of the present invention does not allow the same device or multiple devices to read one or more programs of the MCU program at the same time, after the illegal user intercepts the first process identifier, the illegal authorization device may prohibit the illegal authorization device from acquiring the program from the MCU if the illegal user transmits the first process identifier to the MCU at this time, since the legal authorization device has transmitted the first process identifier to the MCU; in addition, the MCU may be further designed, after the MCU has received the first process identifier, the MCU may mark the first process identifier as a process identifier that is disabled, and thereafter if the MCU receives the first process identifier again, the MCU may prohibit the illegal authorized device from acquiring the program from the MCU; therefore, the method of the invention can ensure that even if an illegal user intercepts the first process identifier, illegal authorized equipment cannot read the program from the MCU; in one specific example, if the UID is wrong, the server considers the device as an illegitimate authorized device, if the UID does not match the hardware identifier of the authorized device, the server considers the device as an illegitimate authorized device, and if the process identifier in the random number request instruction is not a process identifier included in the predefined mapping table, the server considers the device as an illegitimate authorized device.
Step 25: after the server verifies that the authorized device is a legitimate authorized device, the first random number is sent by the server to the authorized device.
Example 3
In embodiment 3, the method further comprises:
after the MCU generates the second process identifier, the MCU transmits the second process identifier to the server;
after the server receives the second process identifier and the server has sent the first random number to the authorizing device, sending, by the server, the first random number to the MCU based on a mapping relationship between the first process identifier and the second process identifier; in a specific example, if the first process identifier selected by the legal authorized device is a, the second process identifier generated by the mcu through table lookup 1 is FGG; based on the steps of the foregoing embodiment, the legal authorization device has already sent the first process identifier a to the server, after receiving the second process identifier sent by the MCU, may know that the first process identifier corresponding to the second process identifier FGG is a through table look-up 1, and then the server may query the random number sending record, thereby finding that the random number allocated to the legal authorization device having the first process identifier a is the first random number.
In a preferred embodiment, the method further comprises:
if the server verifies that the authorizing device is not a legitimate authorizing device, the server does not send the first random number to the authorizing device.
Example 4
In embodiment 4, the method further comprises:
after the authorizing device receives the first random number, the authorizing device sends a first program reading command to the MCU, wherein the first program reading command comprises a first process identifier and the first random number;
after the MCU receives the first program reading command, determining whether the first program reading command comprises a first process identifier and a first random number by the MCU;
after the MCU determines that the first process identifier and the first random number are included in the first program read command, a first segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the licensed device. In a specific example, the MCU may verify whether the random number included in the first program read command is the first random number, and since the first random number in the MCU is transmitted by the server (not transmitted by the authorized device), the reliability of the first random number stored in the MCU is obviously very high; meanwhile, the MCU may also verify whether the first process identifier, the second process identifier, and the first random number match each other, for example, the MCU may also verify whether the first process identifier and the second process identifier conform to a predefined mapping relationship, and whether the random number included in the first program read command is a random number received from the server by the MCU after transmitting the second process identifier.
Example 5
In embodiment 5, the method further comprises:
after the authorizing device receives the first segment of the program and the second process identifier included in the MCU, transmitting, by the authorizing device, the second process identifier to the server; in a specific example, for example, a shift logic program in an MCU shares 200 run-length codes, and after receiving a first program read command, the MCU can only send programs in the 200 run-length codes, for example, lines 1, 4, 7, 10, 13, …, etc., to the authorized device, where the programs in the lines 1, 4, 7, 10, 13, …, etc., are the first segments of the programs; in an extreme example, for example, if an illegal user acquires the UID, the hardware identifier of the device, the predefined mapping table and the first random number through various means, then the illegal authorization device of the illegal user can only acquire the first segment of the program from the MCU, so that the whole program cannot be acquired, and at this time, the program in the MCU can still meet the security requirement; in a specific example, the purpose of the MCU sending the second process identifier to the authorizing device is to prevent an illegal user from obtaining a plurality of random numbers, thereby back-deducing a predefined rule for generating random numbers; for example, if there is no process in which the authorizing device sends the second process identifier to the server (and then the server verifies the mapping relationship between the second process identifier and the first process identifier), an illegal user may masquerade as an MCU, and send a section of dummy program and a section of dummy second process identifier to the legal authorizing device, and since the predefined mapping table is not stored in the legal authorizing device, the legal authorizing device cannot learn that the masquerading MCU is an illegal MCU, and therefore, the legal authorizing device may continue to send a second program read command to the masquerading MCU, where the second program read command includes a second random number, and then the masquerading MCU again sends a section of dummy program and a section of dummy second process identifier to the legal authorizing device, and then the legal authorizing device may continue masquerading to send a third program read command to the MCU, where the third program read command includes a newly generated third random number; similarly, the masquerading MCU may derive a plurality of random numbers from the legitimate authorizing device, thereby reversing the predefined rules for generating random numbers by the plurality of random numbers.
After the server receives the second process identifier sent by the authorizing device, verifying, by the server, a mapping relationship between the second process identifier and the first process identifier;
after the server successfully verifies the mapping relation between the second process identifier and the first process identifier, sending a continued process instruction to the authorization device by the server;
after the authorizing device receives the continuous process instruction, the authorizing device sends a second program reading command to the MCU, wherein the second program reading command comprises a first process identifier and a second random number, and the second random number is generated based on the first random number and a predefined rule. In one specific example, the predefined rule may be expressed in terms of the following formula:
Figure BDA0003967443500000121
wherein, the operator
Figure BDA0003967443500000122
The representation is rounded down for X, giving for example a calculation example, a first random number of 50, a second random number of 81 at this time, and, furthermore, the calculation method for the following third random number is the same as above,
Figure BDA0003967443500000123
in a preferred embodiment, the method further comprises:
after the MCU receives the second program reading command, generating a second random number by the MCU based on the first random number and a predefined rule; as described above, even if in an extreme example, for example, the illegal user acquires the UID, the hardware identifier of the device, the predefined mapping table, and the first random number through various means, the illegal user's illegal authorization device can only acquire the first segment of the program from the MCU, so that the whole program cannot be acquired, after which the illegal user's illegal authorization device needs to additionally know the predefined rule if the illegal user's illegal authorization device needs to acquire the remaining program from the MCU again, and the predefined rule may be additionally stored in another separate rom of the legal authorization device and protected by the password, so as to improve the difficulty that the illegal user knows all the security means;
after the MCU generates the second random number, determining, by the MCU, whether the second program read command includes the first process identifier and the second random number;
after the MCU determines that the first process identifier and the second random number are included in the second program read command, a second segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the authorizing device.
The present invention provides a non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium includes instructions therein, which when executed by a processor, cause the processor to:
transmitting, by the authorizing device, a first process identifier to the MCU, wherein the first process identifier is selected from a list of process identifiers;
after the MCU receives the first process identifier, generating, by the MCU, a second process identifier based on the first process identifier and a predefined mapping table;
transmitting a random number request instruction to a server by an authorization device, wherein the random number request instruction at least comprises a UID, a first process identifier and a hardware identifier of the authorization device, and the UID corresponds to the hardware identifier of the authorization device;
after the server receives the random number request instruction, verifying, by the server, the legitimacy of the authorizing device based on the UID, the first process identifier, and the hardware identifier of the authorizing device;
after the server verifies that the authorized device is a legitimate authorized device, the first random number is sent by the server to the authorized device.
In a preferred embodiment, the instructions, when executed by the processor, are further capable of causing the processor to:
after the MCU generates the second process identifier, the MCU transmits the second process identifier to the server;
after the second process identifier is received by the server and the server has sent the first random number to the authorizing device, the first random number is sent by the server to the MCU based on the mapping between the first process identifier and the second process identifier.
In a preferred embodiment, the instructions, when executed by the processor, are further capable of causing the processor to:
after the authorizing device receives the first random number, the authorizing device sends a first program reading command to the MCU, wherein the first program reading command comprises a first process identifier and the first random number;
after the MCU receives the first program reading command, determining whether the first program reading command comprises a first process identifier and a first random number by the MCU;
after the MCU determines that the first process identifier and the first random number are included in the first program read command, a first segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the licensed device.
In a preferred embodiment, the instructions, when executed by the processor, are further capable of causing the processor to:
after the authorizing device receives the first segment of the program and the second process identifier included in the MCU, transmitting, by the authorizing device, the second process identifier to the server;
after the server receives the second process identifier sent by the authorizing device, verifying, by the server, a mapping relationship between the second process identifier and the first process identifier;
after the server verifies the mapping relation between the second process identifier and the first process identifier, sending a continued process instruction to the authorization device by the server;
after the authorizing device receives the continuous process instruction, the authorizing device sends a second program reading command to the MCU, wherein the second program reading command comprises a first process identifier and a second random number, and the second random number is generated based on the first random number and a predefined rule;
after the MCU receives the second program reading command, generating a second random number by the MCU based on the first random number and a predefined rule;
after the MCU generates the second random number, determining, by the MCU, whether the second program read command includes the first process identifier and the second random number;
after the MCU determines that the first process identifier and the second random number are included in the second program read command, a second segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the authorizing device.
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 (10)

1. A method for preventing a copy of an MCU internal program based on a UID, the method comprising:
transmitting, by the authorizing device, a first process identifier to the MCU, wherein the first process identifier is selected from a list of process identifiers;
generating, by the MCU, a second process identifier based on the first process identifier and a predefined mapping table after the MCU receives the first process identifier, wherein the predefined mapping table is not stored in the authorizing device;
transmitting a random number request instruction to a server by an authorization device, wherein the random number request instruction at least comprises a UID, a first process identifier and a hardware identifier of the authorization device, and the UID corresponds to the hardware identifier of the authorization device;
after the server receives the random number request instruction, verifying, by the server, the legitimacy of the authorizing device based on the UID, the first process identifier, and a hardware identifier of the authorizing device;
after the server verifies that the authorizing device is a legitimate authorizing device, a first random number is sent by the server to the authorizing device.
2. The method of claim 1, wherein the method further comprises:
after the MCU generates the second process identifier, the MCU sends the second process identifier to the server;
after the second process identifier is received by the server and the first random number has been sent by the server to the authorizing device, the first random number is sent by the server to the MCU based on a mapping between the first process identifier and the second process identifier.
3. The method of claim 2, wherein the method further comprises:
if the server verifies that the authorizing device is not a legitimate authorizing device, the server does not send the first random number to the authorizing device.
4. A method as claimed in claim 3, wherein the method further comprises:
after the authorization device receives the first random number, sending a first program reading command to the MCU by the authorization device, wherein the first program reading command comprises the first process identifier and the first random number;
after the MCU receives the first program reading command, determining, by the MCU, whether the first program reading command includes the first process identifier and the first random number;
after the MCU determines that the first process identifier and the first random number are included in the first program read command, a first segment of a program included in the MCU and the second process identifier are transmitted to the authorizing device by the MCU.
5. The method of claim 4, wherein the method further comprises:
transmitting, by an authorizing device, the second process identifier to the server after the authorizing device receives the first segment of the program and the second process identifier included in the MCU;
after the server receives the second process identifier sent by the authorization device, verifying, by the server, a mapping relationship between the second process identifier and the first process identifier;
after the server successfully verifies the mapping relation between the second process identifier and the first process identifier, sending a process continuing instruction to the authorization device by the server;
after the authorizing device receives the continuous process instruction, a second program reading command is sent to the MCU by the authorizing device, wherein the second program reading command comprises the first process identifier and the second random number, and the second random number is generated based on the first random number and a predefined rule.
6. The method of claim 5, wherein the method further comprises:
generating, by the MCU after the MCU receives the second program read command, a second random number based on the first random number and the predefined rule;
after the MCU generates the second random number, determining, by the MCU, whether the second program read command includes the first process identifier and the second random number;
after the MCU determines that the first process identifier and the second random number are included in the second program read command, a second segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the authorizing device.
7. A non-transitory computer-readable storage medium, comprising instructions therein, which when executed by a processor, are capable of causing the processor to:
transmitting, by the authorizing device, a first process identifier to the MCU, wherein the first process identifier is selected from a list of process identifiers;
after the MCU receives the first process identifier, generating, by the MCU, a second process identifier based on the first process identifier and a predefined mapping table;
transmitting a random number request instruction to a server by an authorization device, wherein the random number request instruction at least comprises a UID, a first process identifier and a hardware identifier of the authorization device, and the UID corresponds to the hardware identifier of the authorization device;
after the server receives the random number request instruction, verifying, by the server, the legitimacy of the authorizing device based on the UID, the first process identifier, and a hardware identifier of the authorizing device;
after the server verifies that the authorizing device is a legitimate authorizing device, a first random number is sent by the server to the authorizing device.
8. The non-transitory computer-readable storage medium of claim 7, wherein the instructions, when executed by the processor, are further capable of causing the processor to:
after the MCU generates the second process identifier, the MCU sends the second process identifier to the server;
after the second process identifier is received by the server and the first random number has been sent by the server to the authorizing device, the first random number is sent by the server to the MCU based on a mapping between the first process identifier and the second process identifier.
9. The non-transitory computer-readable storage medium of claim 8, wherein the instructions, when executed by the processor, are further capable of causing the processor to:
after the authorization device receives the first random number, sending a first program reading command to the MCU by the authorization device, wherein the first program reading command comprises the first process identifier and the first random number;
after the MCU receives the first program reading command, determining, by the MCU, whether the first program reading command includes the first process identifier and the first random number;
after the MCU determines that the first process identifier and the first random number are included in the first program read command, a first segment of a program included in the MCU and the second process identifier are transmitted to the authorizing device by the MCU.
10. The non-transitory computer-readable storage medium of claim 9, wherein the instructions, when executed by the processor, are further capable of causing the processor to:
transmitting, by an authorizing device, the second process identifier to the server after the authorizing device receives the first segment of the program and the second process identifier included in the MCU;
after the server receives the second process identifier sent by the authorization device, verifying, by the server, a mapping relationship between the second process identifier and the first process identifier;
after the server verifies the mapping relation between the second process identifier and the first process identifier, sending a process continuing instruction to the authorization device by the server;
after the authorizing device receives the continuous process instruction, sending a second program reading command to the MCU by the authorizing device, wherein the second program reading command comprises the first process identifier and the second random number, and the second random number is generated based on the first random number and a predefined rule;
generating, by the MCU after the MCU receives the second program read command, a second random number based on the first random number and the predefined rule;
after the MCU generates the second random number, determining, by the MCU, whether the second program read command includes the first process identifier and the second random number;
after the MCU determines that the first process identifier and the second random number are included in the second program read command, a second segment of the program included in the MCU and the second process identifier are transmitted by the MCU to the authorizing device.
CN202211500654.1A 2022-11-28 2022-11-28 Method for preventing MCU internal program from plagiarism based on UID Active CN116150731B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211500654.1A CN116150731B (en) 2022-11-28 2022-11-28 Method for preventing MCU internal program from plagiarism based on UID

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211500654.1A CN116150731B (en) 2022-11-28 2022-11-28 Method for preventing MCU internal program from plagiarism based on UID

Publications (2)

Publication Number Publication Date
CN116150731A true CN116150731A (en) 2023-05-23
CN116150731B CN116150731B (en) 2023-09-15

Family

ID=86360850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211500654.1A Active CN116150731B (en) 2022-11-28 2022-11-28 Method for preventing MCU internal program from plagiarism based on UID

Country Status (1)

Country Link
CN (1) CN116150731B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078153A1 (en) * 2000-11-02 2002-06-20 Chit Chung Providing secure, instantaneous, directory-integrated, multiparty, communications services
CN1799217A (en) * 2003-06-05 2006-07-05 西门子通讯公司 System and method for authorizing a party to join a conference
CN1957356A (en) * 2004-12-13 2007-05-02 松下电器产业株式会社 Unauthorized deice detection device, unauthorized device detection system, unauthorized device detection method, program, recording medium, and device information update method
CN104065488A (en) * 2014-07-09 2014-09-24 上海象形通讯科技有限公司 Method for authenticating microprocessor card cloud management system based on combined public keys
WO2017071496A1 (en) * 2015-10-26 2017-05-04 阿里巴巴集团控股有限公司 Method and device for realizing session identifier synchronization
US20180091490A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Authentication framework for a client of a remote database
CN107977568A (en) * 2017-12-25 2018-05-01 瑞萨集成电路设计(北京)有限公司 MCU safeguard protections identification authentication system and method
CN109997119A (en) * 2016-09-27 2019-07-09 维萨国际服务协会 Safety element installation and setting
US20190278912A1 (en) * 2018-03-06 2019-09-12 Faraday Technology Corp. Method and apparatus for performing firmware programming on microcontroller chip, and associated microcontroller chip
CN110896506A (en) * 2018-09-12 2020-03-20 萨伯康姆有限责任公司 Techniques for securely partitioning an optical transmission system to provide multi-client management access and network management systems implementing the same
CN111247521A (en) * 2017-10-31 2020-06-05 微软技术许可有限责任公司 Remotely locking multi-user devices as a set of users

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078153A1 (en) * 2000-11-02 2002-06-20 Chit Chung Providing secure, instantaneous, directory-integrated, multiparty, communications services
CN1799217A (en) * 2003-06-05 2006-07-05 西门子通讯公司 System and method for authorizing a party to join a conference
CN1957356A (en) * 2004-12-13 2007-05-02 松下电器产业株式会社 Unauthorized deice detection device, unauthorized device detection system, unauthorized device detection method, program, recording medium, and device information update method
CN104065488A (en) * 2014-07-09 2014-09-24 上海象形通讯科技有限公司 Method for authenticating microprocessor card cloud management system based on combined public keys
WO2017071496A1 (en) * 2015-10-26 2017-05-04 阿里巴巴集团控股有限公司 Method and device for realizing session identifier synchronization
US20180091490A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Authentication framework for a client of a remote database
CN109997119A (en) * 2016-09-27 2019-07-09 维萨国际服务协会 Safety element installation and setting
CN111247521A (en) * 2017-10-31 2020-06-05 微软技术许可有限责任公司 Remotely locking multi-user devices as a set of users
CN107977568A (en) * 2017-12-25 2018-05-01 瑞萨集成电路设计(北京)有限公司 MCU safeguard protections identification authentication system and method
US20190278912A1 (en) * 2018-03-06 2019-09-12 Faraday Technology Corp. Method and apparatus for performing firmware programming on microcontroller chip, and associated microcontroller chip
CN110896506A (en) * 2018-09-12 2020-03-20 萨伯康姆有限责任公司 Techniques for securely partitioning an optical transmission system to provide multi-client management access and network management systems implementing the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许冬霞;: "一种软件在线授权系统的安全模型", 电脑知识与技术, no. 22 *

Also Published As

Publication number Publication date
CN116150731B (en) 2023-09-15

Similar Documents

Publication Publication Date Title
CN103685214B (en) Safety access method for vehicle electronic control unit
US7900239B2 (en) Controlling access to a resource by a program using a digital signature
KR102639075B1 (en) Diagnostics device for vehicle and method of managing certificate thereof
US6816971B2 (en) Signature process
US7197637B2 (en) Authorization process using a certificate
JP6731887B2 (en) Maintenance system and maintenance method
US20110083161A1 (en) Vehicle, maintenance device, maintenance service system, and maintenance service method
US20080101613A1 (en) Autonomous Field Reprogramming
JP2016072675A (en) Management device, vehicle, management method and computer program
US8035494B2 (en) Motor vehicle control device data transfer system and process
CN102301641A (en) Software application verification
US9714004B2 (en) Electronic key registration system
US11182485B2 (en) In-vehicle apparatus for efficient reprogramming and controlling method thereof
CN116150731B (en) Method for preventing MCU internal program from plagiarism based on UID
KR20200034091A (en) Apparatus and program managing automobile history
US11485317B2 (en) Concept for provision of a key signal or an immobilizer signal for a vehicle
Zoppelt et al. What today’s serious cyber attacks on cars tell us: consequences for automotive security and dependability
Markham et al. A balanced approach for securing the OBD-II port
US10755504B1 (en) Method for controlling vehicle based on location information and vehicle-control supporting server using the same
JP2018042256A (en) System and management method
Rumez et al. Security hardening of automotive networks through the implementation of attribute-based plausibility checks
EP3951671A1 (en) Vehicle service authorization
JP7463928B2 (en) Authentication management device and authentication management method
CN116488813B (en) Vehicle, communication security authentication method and device thereof, electronic equipment and storage medium
KR20200050828A (en) Immobilizer token management 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
CB02 Change of applicant information
CB02 Change of applicant information

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

Applicant 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

Applicant before: SHENZHEN FRUITION INDUSTRIAL CO.,LTD.

GR01 Patent grant
GR01 Patent grant