Communication system and method based on information verification and related device

By deploying key chains and one-way function calculations in the business chain of smart vehicles, the problem of easy attack and counterfeiting of information transmission is solved, and the effect of quickly identifying attacked nodes and reducing security risks is achieved.

CN119232385APending Publication Date: 2024-12-31HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310787125.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-29
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In the multi-node business chain scenario of smart vehicles, information transmission is easily counterfeited by attacks, causing attackers to forge data and send it to subsequent nodes, increasing security risks and making it difficult to quickly identify the attacked nodes.

Method used

Using a communication system based on information verification, by deploying a key chain in the business chain, each node uses a different key, and generating a key chain through one-way function calculations, ensuring that the latter node can generate the secret of the previous node. key, thereby verifying the authenticity and integrity of the information.

Benefits of technology

It reduces the probability of information being attacked and counterfeit, quickly locks the attacked nodes, achieves faster security incident response, reduces security risks, and enhances the protection of business chain information transmission and the security of communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232385A_ABST
    Figure CN119232385A_ABST
Patent Text Reader

Abstract

The invention discloses a communication system and method based on information verification and a related device. The system comprises a first node, a second node and a third node, the first node is used for sending first information and a first check code to the second node; the first check code is a check code generated based on the first information and the first key; the second node is used for receiving the first information and the first check code, and verifying the first information based on the first check code and the second key; the second node is also used for sending second information and a second check code to the third node under the condition that the first information passes verification; the second information is associated with the first information, the second check code is a check code generated based on the second information and a second key, and the second key is different from the first key. By adopting the embodiment of the invention, the probability that the information is attacked and counterfeited can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of information security technology, in particular, to the field of information security technology in smart cars, and specifically to a communication system, method and related devices based on information verification. Background Art

[0002] While the networking and intelligence of cars better meet users' needs for personalized functions and services, they also create a larger attack surface. In particular, for information transmission in business chain scenarios involving multiple nodes in the car, the probability of information being attacked and counterfeited increases. Summary of the invention

[0003] The present application provides a communication system, method and related devices based on information verification, which can reduce the probability of information being attacked and forged, and if the information is attacked and forged, the attacked node can be quickly locked to achieve faster security incident response and reduce security risks.

[0004] In a first aspect, the present application provides a communication system based on information verification, the system comprising a first node, a second node and a third node;

[0005] The first node is used to send the first information and the first verification code to the second node; the first verification code is a verification code generated based on the first information and the first key;

[0006] The second node is used to receive the first information and the first verification code, and verify the first information based on the first verification code and the second key;

[0007] The aforementioned second node is also used to send the second information and the second verification code to the aforementioned third node when the aforementioned first information is verified; the aforementioned second information is associated with the aforementioned first information, and the aforementioned second verification code is a verification code generated based on the aforementioned second information and the second key, and the aforementioned second key is different from the aforementioned first key.

[0008] Optionally, the aforementioned first node, the aforementioned second node and the aforementioned third node are three adjacent nodes in a business chain included in the aforementioned system, and the aforementioned business chain is composed of multiple nodes that communicate in sequence to collaboratively implement the same business function service.

[0009] In the above scheme, the above-mentioned first node, second node and third node can be nodes in the service chain. In the application scenario of multi-node service communication in the service chain, the second key used by the second node to protect the sent information is different from the first key used to protect the sent information in the previous hop first node, so that even if the first node is compromised, it is difficult to obtain the second key, thereby reducing the risk of attackers forging the data of the second node and sending it to the nodes behind the service chain, which helps to reduce the impact on the security communication between the rear nodes. In addition, since different nodes are configured with different keys, the attacked node can be quickly located by analyzing the leaked keys, which helps to achieve faster security incident response. In addition, since the keys deployed by each node are different, the attacked service node can be quickly located by analyzing the leaked keys, which helps to achieve faster security incident response.

[0010] In a possible implementation, the first key is determined by calculating the second key using a first function once or multiple times, and the first function is a one-way function.

[0011] In the above scheme, the next node in the service chain can generate the key of the previous node by performing one or more one-way function calculation operations (such as hash operations) on its own key, making it difficult to derive the key of the next node from the key of the previous node in the service chain. Since the starting node of the service chain is more likely to be exposed to the outside, the probability of being attacked is also higher. This scheme makes it difficult for an attacker to obtain the key of the next node even if the previous node in the service chain is compromised and the key is leaked. This reduces the risk of an attacker forging the data sent by the next node, which helps to reduce the impact on the secure communication between the next nodes.

[0012] In a possible implementation manner, the first information includes an identifier of the first node; and the second node is used to verify the first information based on the first verification code and the second key, including:

[0013] The second node generates the first key based on the identifier of the first node and the second key; the first key is obtained by performing N hash calculations based on the second key; N is an integer greater than or equal to 1; N is associated with the identifier of the first node;

[0014] The second node verifies the first information based on the first key and the first verification code.

[0015] In the above scheme, the second node can quickly calculate the key (i.e., the above-mentioned first key) used to verify the received first information based on its own deployed key (i.e., the above-mentioned second key) through the binding relationship between the identifier of the previous node (i.e., the identifier of the above-mentioned first node) and the key generation operation, which is easy to implement.

[0016] In a possible implementation manner, the third node is used to:

[0017] receiving the aforementioned second information and the aforementioned second verification code; the aforementioned second information includes the identification of the aforementioned second node;

[0018] generating the second key based on the identifier of the second node and the first preset information;

[0019] The second information is verified based on the second key and the second verification code.

[0020] In the above scheme, after the third node receives the information from the previous node, i.e., the second node, it can also quickly calculate the key (i.e., the second key) used to verify the received second information based on its own deployed key (i.e., the first preset information) through the binding relationship between the second node's identifier and the key generation operation, which is easy to implement.

[0021] In a possible implementation, the second key is obtained by performing M hash calculations based on the first preset information; M is an integer greater than or equal to 1; and M is associated with the identifier of the second node.

[0022] In the above scheme, the node behind the business chain can obtain the key corresponding to the previous node through one or more hash calculations to verify the information sent by the previous node, which is easy to implement.

[0023] In a possible implementation manner, the first node is further used to send third information and a third verification code to the second node; the third information is associated with the first information, and the third verification code is a verification code generated based on the third information and a third key, wherein a random number used to generate the third key is different from a random number used to generate the first key;

[0024] The aforementioned second node is also used to receive the aforementioned third information and the aforementioned third verification code, and when the aforementioned first information is verified, it is also used to send the aforementioned third information and the aforementioned third verification code to the aforementioned third node.

[0025] Optionally, the aforementioned third information is associated with the aforementioned first information, including: the aforementioned first information includes a business call instruction, and the aforementioned third information includes an instruction type of the aforementioned business call instruction.

[0026] In the above scheme, the first node may also deploy a third key, while the second node does not deploy key information related to the third key, which is mainly used to implement the forwarding function of the third information. The third key can be used to implement the transmission protection of the third information. The third information is associated with the first information. That is, the first node may use different keys to send two associated information, so that the destination node receiving the information (such as the third node) will perform the corresponding operation only when the two information are correct. This strengthens the protection of information transmission in the service chain.

[0027] In a possible implementation manner, the second node is further used to check the third information;

[0028] The step of further sending the third information and the third verification code to the third node when the first information verification passes includes:

[0029] When the first information is verified and the third information is checked, the third information and the third check code are also sent to the third node.

[0030] In the above solution, the second node may also check the received third information and continue to send it after the check passes, thereby further enhancing information transmission protection.

[0031] In a possible implementation, the third information includes an instruction type of a service call instruction; if the instruction type matches the service call instruction included in the first information received by the second node, the third information passes the check.

[0032] In the above scheme, whether the received information is correct is determined by checking whether the service call instruction included in the received first information and the instruction type included in the received third information match, which is easy to implement.

[0033] In a possible implementation manner, the third node is further used for:

[0034] receiving the aforementioned third information and the aforementioned third check code; the aforementioned third information includes the identification of the aforementioned first node;

[0035] The third key is generated based on the identifier of the first node and the second preset information; the third key is obtained by performing Q hash calculations based on the second preset information; Q is an integer greater than or equal to 1; Q is associated with the identifier of the first node;

[0036] The third information is verified based on the third key and the third verification code.

[0037] The above scheme can well defend against the scenario where the intermediate node is captured. For example, if the intermediate node (such as the above-mentioned second node) is captured, although the attacker can obtain the second key deployed in the second node, and then calculate the forged verification code through the second key and the forged information, and send the forged verification code and information to the subsequent node (such as the above-mentioned third node). And because the second key is correct, the third node cannot identify the received information as forged information through the second key verification information. However, in the present application scheme, the second node does not deploy key information related to the third key and the third information, and even if the second node is captured, it cannot perceive the existence of the third key. Even if the above-mentioned third information and the third verification code are forged, the third node will verify the third information. If the verification fails, the security threat can be identified and responded to in a timely manner. Thereby enhancing the protection of business chain information transmission and improving the security of the communication system.

[0038] In a possible implementation manner, the third node is further used for:

[0039] When the aforementioned instruction type matches the service call instruction included in the aforementioned second information received by the aforementioned third node, the service call instruction included in the aforementioned second information is executed.

[0040] In the above scheme, the third node can further check whether the received business call instruction matches the received instruction type, and execute the corresponding instruction if the match is successful, thereby further strengthening the protection of information transmission and reducing the adverse effects caused by information forgery and tampering.

[0041] In a second aspect, the present application provides a communication method based on information verification, the method comprising:

[0042] The second node receives the first information and the first verification code, wherein the first verification code is associated with the first information and the first key;

[0043] The second node verifies the first information based on the first verification code and the second key;

[0044] When the first information is verified, the second node sends the second information and the second verification code; the second information is associated with the first information, the second verification code is a verification code generated based on the second information and the second key, and the second key is different from the first key.

[0045] In a possible implementation, the first key is determined by calculating the second key using a first function once or multiple times, and the first function is a one-way function.

[0046] In a possible implementation manner, the first information includes an identifier of a node that sends the first information; and the second node verifies the first information based on the first verification code and the second key, including:

[0047] The second node generates the first key based on the identifier of the node and the second key; the first key is obtained by performing N hash calculations based on the second key; N is an integer greater than or equal to 1; N is associated with the identifier of the node;

[0048] The second node verifies the first information based on the first key and the first verification code.

[0049] In a possible implementation manner, the aforementioned method further includes:

[0050] The second node receives the third information and the third verification code; the third information is associated with the first information; the third verification code is associated with the third information and the third key; wherein the random number associated with the third key is different from the random number associated with the first key;

[0051] The aforementioned second node sends the second information and the second verification code when the aforementioned first information is verified, including: when the aforementioned first information is verified, the aforementioned second node sends the aforementioned second information, the aforementioned second verification code, the aforementioned third information and the aforementioned third verification code.

[0052] In a possible implementation manner, when the first information is verified, the second node sends the second information, the second verification code, the third information and the third verification code, including:

[0053] When the first information is verified and the third information is checked, the second node sends the second information, the second check code, the third information and the third check code.

[0054] In a possible implementation, the third information includes an instruction type of a service call instruction; if the instruction type matches the service call instruction included in the first information received by the second node, the third information passes the check.

[0055] In a possible implementation, the third information is associated with the first information, including: the first information includes a service call instruction, and the third information includes an instruction type of the service call instruction.

[0056] In a third aspect, the present application provides a communication method based on information verification, the method comprising:

[0057] The first node generates a first verification code based on the first information and the first key, and generates a third verification code based on the third information and the third key; the third information is associated with the first information, and the random number used to generate the third key is different from the random number used to generate the first key;

[0058] The first node sends the first information, the first check code, the third information and the third check code to the second node; the first check code is used to verify the first information, and the third check code is used to verify the third information.

[0059] In a possible implementation, the third information is associated with the first information, including: the first information includes a service call instruction, and the third information includes an instruction type of the service call instruction.

[0060] In a fourth aspect, the present application provides a communication method based on information verification, the method comprising:

[0061] The third node receives the second information and the second verification code from the second node; the second verification code is associated with the second information and the second key; the second information includes the identifier of the second node;

[0062] The third node generates the second key based on the identifier of the second node and the first preset information;

[0063] The third node verifies the second information based on the second key and the second verification code.

[0064] In a possible implementation, the second key is obtained by performing M hash calculations based on the first preset information; M is an integer greater than or equal to 1; and M is associated with the identifier of the second node.

[0065] In a possible implementation manner, the aforementioned method further includes:

[0066] The third node receives the third information and the third verification code; the third verification code is associated with the third information and the third key; the third information is associated with the second information; the third information includes the identifier of the first node;

[0067] The third node generates the third key based on the identifier of the first node and the second preset information; the third key is obtained by performing Q hash calculations based on the second preset information; Q is an integer greater than or equal to 1; Q is associated with the identifier of the first node;

[0068] The third node verifies the third information based on the third key and the third verification code.

[0069] In a possible implementation manner, the third information is associated with the second information, including:

[0070] The aforementioned second information includes a service call instruction, and the aforementioned third information includes an instruction type of the aforementioned service call instruction.

[0071] In a possible implementation manner, the aforementioned method further includes:

[0072] In a case where the aforementioned instruction type matches the service call instruction included in the aforementioned second information received by the aforementioned third node, the aforementioned third node executes the service call instruction included in the aforementioned second information.

[0073] In a fifth aspect, the present application provides a communication device based on information verification, the device comprising:

[0074] A receiving unit, configured to receive first information and a first verification code, wherein the first verification code is associated with the first information and the first key;

[0075] A processing unit, configured to verify the first information based on the first verification code and the second key;

[0076] A sending unit is used to send second information and a second verification code when the first information is verified; the second information is associated with the first information, the second verification code is a verification code generated based on the second information and a second key, and the second key is different from the first key.

[0077] In a possible implementation, the first key is determined by calculating the second key using a first function once or multiple times, and the first function is a one-way function.

[0078] In a possible implementation manner, the first information includes an identifier of a node corresponding to the sending of the first information; and the processing unit is specifically configured to:

[0079] The first key is generated based on the identifier of the node and the second key; the first key is obtained by performing N hash calculations based on the second key; N is an integer greater than or equal to 1; N is associated with the identifier of the node;

[0080] The first information is verified based on the first key and the first verification code.

[0081] In a possible implementation manner, the aforementioned receiving unit is further used for:

[0082] receiving third information and a third verification code; the third information is associated with the first information; the third verification code is associated with the third information and a third key; wherein the random number associated with the third key is different from the random number associated with the first key;

[0083] The aforementioned sending unit is specifically used for: sending the aforementioned second information, the aforementioned second verification code, the aforementioned third information and the aforementioned third verification code when the aforementioned first information is verified.

[0084] In a possible implementation manner, the sending unit is specifically configured to:

[0085] When the first information is verified and the third information is checked, the second information, the second check code, the third information and the third check code are sent.

[0086] In a possible implementation, the third information includes an instruction type of a service call instruction; if the instruction type matches the service call instruction included in the first information received by the device, the third information passes the check.

[0087] In a possible implementation, the third information is associated with the first information, including: the first information includes a service call instruction, and the third information includes an instruction type of the service call instruction.

[0088] In a sixth aspect, the present application provides a communication device based on information verification, the device comprising:

[0089] a processing unit, configured to generate a first verification code based on first information and a first key, and to generate a third verification code based on third information and a third key; the third information is associated with the first information, and a random number used to generate the third key is different from a random number used to generate the first key;

[0090] The sending unit is used to send the aforementioned first information, the aforementioned first check code, the aforementioned third information and the aforementioned third check code to the second node; the aforementioned first check code is used to verify the aforementioned first information, and the aforementioned third check code is used to verify the aforementioned third information.

[0091] In a possible implementation, the third information is associated with the first information, including: the first information includes a service call instruction, and the third information includes an instruction type of the service call instruction.

[0092] In a seventh aspect, the present application provides a communication device based on information verification, the device comprising:

[0093] A receiving unit, configured to receive second information and a second verification code from a second node; the second verification code is associated with the second information and the second key; the second information includes an identifier of the second node;

[0094] A processing unit is used to generate the aforementioned second key based on the identification of the aforementioned second node and the first preset information; and verify the aforementioned second information based on the aforementioned second key and the aforementioned second verification code.

[0095] In a possible implementation, the second key is obtained by performing M hash calculations based on the first preset information; M is an integer greater than or equal to 1; and M is associated with the identifier of the second node.

[0096] In a possible implementation manner, the aforementioned receiving unit is further used for:

[0097] receiving third information and a third verification code; the third verification code is associated with the third information and a third key; the third information is associated with the second information; the third information includes an identifier of the first node;

[0098] The aforementioned processing unit is further used for:

[0099] The third key is generated based on the identifier of the first node and the second preset information; the third key is obtained by performing Q hash calculations based on the second preset information; Q is an integer greater than or equal to 1; Q is associated with the identifier of the first node;

[0100] The third information is verified based on the third key and the third verification code.

[0101] In a possible implementation manner, the third information is associated with the second information, including:

[0102] The aforementioned second information includes a service call instruction, and the aforementioned third information includes an instruction type of the aforementioned service call instruction.

[0103] In a possible implementation manner, the aforementioned processing unit is further configured to:

[0104] When the aforementioned instruction type matches the service call instruction included in the aforementioned second information received by the aforementioned device, the service call instruction included in the aforementioned second information is executed.

[0105] In an eighth aspect, the present application provides a communication device based on information verification, the device comprising a processor and a memory. The memory is coupled to the processor, and when the processor executes a computer program or computer instruction stored in the memory, the method described in any one of the second aspects above can be implemented. The device may also include a communication interface, the communication interface is used for the device to communicate with other devices, and illustratively, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface.

[0106] In a possible implementation, the device may include:

[0107] Memory for storing computer programs or computer instructions;

[0108] Processor for:

[0109] receiving first information and a first verification code through a communication interface; the first verification code is associated with the first information and the first key;

[0110] Verifying the first information based on the first verification code and the second key;

[0111] When the first information is verified, the second information and the second verification code are sent through the communication interface; the second information is associated with the first information, the second verification code is a verification code generated based on the second information and the second key, and the second key is different from the first key.

[0112] It should be noted that the computer program or computer instruction in the memory in the present application can be stored in advance or downloaded from the Internet and stored when the device is used. The present application does not specifically limit the source of the computer program or computer instruction in the memory. The coupling in the embodiments of the present application is an indirect coupling or connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.

[0113] In a ninth aspect, the present application provides a communication device based on information verification, the device comprising a processor and a memory. The memory is coupled to the processor, and when the processor executes a computer program or computer instruction stored in the memory, the method described in any one of the third aspects above can be implemented. The device may also include a communication interface, the communication interface is used for the device to communicate with other devices, and illustratively, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface.

[0114] In a possible implementation, the device may include:

[0115] Memory for storing computer programs or computer instructions;

[0116] Processor for:

[0117] Generate a first verification code based on the first information and the first key, and generate a third verification code based on the third information and the third key; the third information is associated with the first information, and the random number used to generate the third key is different from the random number used to generate the first key;

[0118] The first information, the first check code, the third information and the third check code are sent to the second node through the communication interface; the first check code is used to verify the first information, and the third check code is used to verify the third information.

[0119] It should be noted that the computer program or computer instruction in the memory in the present application can be stored in advance or downloaded from the Internet and stored when the device is used. The present application does not specifically limit the source of the computer program or computer instruction in the memory. The coupling in the embodiments of the present application is an indirect coupling or connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.

[0120] In a tenth aspect, the present application provides a communication device based on information verification, the device comprising a processor and a memory. The memory is coupled to the processor, and when the processor executes a computer program or computer instruction stored in the memory, the method described in any one of the fourth aspects above can be implemented. The device may also include a communication interface, the communication interface is used for the device to communicate with other devices, and illustratively, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface.

[0121] In a possible implementation, the device may include:

[0122] Memory for storing computer programs or computer instructions;

[0123] Processor for:

[0124] receiving second information and a second verification code from a second node through a communication interface; the second verification code is associated with the second information and the second key; the second information includes an identifier of the second node;

[0125] generating the second key based on the identifier of the second node and the first preset information;

[0126] The second information is verified based on the second key and the second verification code.

[0127] It should be noted that the computer program or computer instruction in the memory in the present application can be stored in advance or downloaded from the Internet and stored when the device is used. The present application does not specifically limit the source of the computer program or computer instruction in the memory. The coupling in the embodiments of the present application is an indirect coupling or connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.

[0128] In a possible implementation, the communication device based on information verification provided in any one of the eighth to tenth aspects above may be, for example, a chip.

[0129] In an eleventh aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the method described in any one of the second aspects.

[0130] In a twelfth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the method described in any one of the third aspects above.

[0131] In a thirteenth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the method described in any one of the fourth aspects.

[0132] In a fourteenth aspect, the present application provides a computer program product. When the aforementioned computer program product is executed by a processor, the method described in any one of the aforementioned second aspects will be implemented.

[0133] In a fifteenth aspect, the present application provides a computer program product. When the aforementioned computer program product is executed by a processor, the method described in any one of the aforementioned third aspects will be implemented.

[0134] In a sixteenth aspect, the present application provides a computer program product. When the aforementioned computer program product is executed by a processor, the method described in any one of the aforementioned third aspects will be implemented.

[0135] The solutions provided in the above-mentioned second to sixteenth aspects are used to implement or cooperate with the implementation of the corresponding communication system provided in the above-mentioned first aspect, and therefore can achieve the same or corresponding beneficial effects as the corresponding communication system in the first aspect, and will not be repeated here.

[0136] In a seventeenth aspect, the present application provides a communication system based on information verification, the system comprising a first node, a second node and a third node;

[0137] The first node is used to send the first information and the first verification code to the second node; the first verification code is a verification code generated based on the first information and the first key;

[0138] The second node is used to receive the first information and the first check code, and send the first information and the first check code to the third node;

[0139] The aforementioned third node is used to receive the aforementioned first information and the aforementioned first verification code, and verify the aforementioned first information based on the aforementioned first verification code and preset information; the aforementioned preset information is used to generate the aforementioned first key.

[0140] The above scheme can effectively defend against the scenario where the intermediate node of the business chain is compromised. Specifically, the second node does not deploy the key information related to the first key, and even if the second node is compromised, it cannot perceive the existence of the first key. Even if the attacker compromises the second node and forges the above first information and the first verification code, due to incorrect keys, the third node cannot pass the verification when verifying the forged first information through the locally generated first key. Therefore, security threats can be identified and responded to in a timely manner. This enhances the protection of business chain information transmission and improves the security of the communication system.

[0141] In a possible implementation, the first key is determined by calculating the preset information through one or more first functions, and the first function is a one-way function.

[0142] In the above scheme, the next node in the service chain can generate the key of the previous node by performing one or more one-way function calculation operations (such as hash operations) on its own key, making it difficult to derive the key of the next node from the key of the previous node in the service chain. Since the starting node of the service chain is more likely to be exposed to the outside, the probability of being attacked is also higher. This scheme makes it difficult for an attacker to obtain the key of the next node even if the previous node in the service chain is compromised and the key is leaked. This reduces the risk of an attacker forging the data sent by the next node, which helps to reduce the impact on the secure communication between the next nodes.

[0143] In a possible implementation, the aforementioned first information includes the identifier of the aforementioned first node; the aforementioned first key is obtained by performing Q hash calculations based on the aforementioned preset information; Q is an integer greater than or equal to 1; and Q is associated with the identifier of the aforementioned first node.

[0144] In the above scheme, the node behind the business chain can obtain the key corresponding to the previous node through one or more hash calculations to verify the information sent by the previous node, which is easy to implement.

[0145] In a possible implementation manner, the first information includes an instruction type of the service call instruction;

[0146] The second node sends the first information and the first verification code to the third node, including:

[0147] In the case where the aforementioned instruction type matches the instruction type preset in the aforementioned second node, the aforementioned second node sends the aforementioned first information and the aforementioned first verification code to the aforementioned third node.

[0148] In the above solution, the second node may also check the received third information and continue to send it after the check passes, thereby further enhancing information transmission protection.

[0149] In a possible implementation manner, the first node is further used to send second information and a second verification code to the second node; the second verification code is a verification code generated based on the second information and the second key; the random number used to generate the second key is different from the random number used to generate the first key; the second information is associated with the first information;

[0150] The second node is used to receive the second information and the second verification code, and verify the second information based on the second verification code and the third key;

[0151] The aforementioned second node is also used to send third information and a third verification code to the aforementioned third node when the aforementioned second information is verified; the aforementioned third information is associated with the aforementioned second information, and the aforementioned third verification code is a verification code generated based on the aforementioned third information and a third key.

[0152] Optionally, the aforementioned second information is associated with the aforementioned first information, including: the aforementioned first information includes the instruction type of the business call instruction, and the aforementioned second information includes the aforementioned business call instruction.

[0153] In the above scheme, the first node may also deploy a second key. The second key may be used to implement transmission protection of the second information. The second information is associated with the first information. That is, the first node may use different keys to send two associated information, so that the destination node receiving the information (such as the third node) performs the corresponding operation only when the two information are correct. This strengthens the protection of information transmission in the service chain.

[0154] In a possible implementation manner, the third node is further configured to: execute the service call instruction when the instruction type matches the service call instruction included in the second information received by the third node.

[0155] In the above scheme, the third node can further check whether the received business call instruction matches the received instruction type, and execute the corresponding instruction if the match is successful, thereby further strengthening the protection of information transmission and reducing the adverse effects caused by information forgery and tampering. BRIEF DESCRIPTION OF THE DRAWINGS

[0156] Figures 1 to 2D A schematic diagram of a service chain provided in an embodiment of the present application;

[0157] Figures 3 to 8 A schematic diagram of deploying a key chain to a service chain provided in an embodiment of the present application;

[0158] Fig. 9 A schematic diagram of a method flow chart provided in an embodiment of the present application;

[0159] Fig.10 and Fig.11 A schematic diagram of deploying a key chain to a service chain provided in an embodiment of the present application;

[0160] Fig.12 A schematic diagram of a method flow chart provided in an embodiment of the present application;

[0161] Figures 13 to 16 A schematic diagram of the device structure provided in an embodiment of the present application. Specific embodiments

[0162] In the embodiment of the present application, "multiple" refers to two or more. In the embodiment of the present application, "and / or" is used to describe the association relationship of the associated objects, indicating three relationships that can exist independently, for example, A and / or B, which can be expressed as: A exists alone, B exists alone, or A and B exist at the same time. The description methods such as "at least one (or at least one) of a1, a2, ... and an" used in the embodiment of the present application include the situation where any one of a1, a2, ... and an exists alone, and also include any combination of any multiple of a1, a2, ... and an, each of which can exist alone; for example, the description method of "at least one of a, b and c" includes the situation where a is alone, b is alone, c is alone, a and b are combined, a and c are combined, b and c are combined, or abc is combined.

[0163] In the various embodiments of the present application, unless otherwise specified or logically conflicting, the terms and / or descriptions between the various embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0164] The following first introduces the application scenarios of this solution by way of example.

[0165] For example, see Figure 1 , shows a schematic diagram of a service chain provided by an embodiment of the present application. A service chain is composed of multiple nodes that communicate in sequence to collaboratively implement the same service function service. Figure 1 It can be seen that the business chain may include G nodes. G can be an integer greater than 2. The G nodes are used to collaboratively implement the same business function. Exemplarily, node 1 is the starting node of the business, and node G is the end node of the business call. That is, node 1 initiates a business call instruction, and the business call instruction reaches node G after being transmitted and / or processed (such as conversion of the transmission protocol or conversion of the data format, etc.) by the intermediate node of the business chain (i.e., node 2 to node G-1). Node G responds to the business call instruction to perform corresponding business operations and complete business execution.

[0166] Exemplarily, the above-mentioned node is an electronic device with communication capability. For example, the node may include a handheld terminal, a vehicle, a vehicle-mounted device, or a network-side device, a user device, an access terminal, a user unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a wireless communication device, a user agent or a user device, etc., or it may be a component (such as a chip or an integrated circuit) contained in an independent device. The node may be any possible intelligent terminal device (such as a mobile phone), intelligent transportation equipment (such as a vehicle, a drone, etc.), an intelligent manufacturing device, an intelligent home device (such as a large screen, a speaker, etc.), etc.

[0167] Exemplarily, when the node is a vehicle-mounted device, the node may be, for example, a vehicle key, a telematics BOX (T-BOX), a domain controller, a vehicle component in a body domain, a vehicle component in a chassis domain, a vehicle component in a cockpit domain, a gateway (GW), or a vehicle integration unit (VIU), etc. Exemplarily, the vehicle component in the body domain, the vehicle component in the chassis domain, and the vehicle component in the cockpit domain may include an electronic control unit (ECU) for executing corresponding service call instructions.

[0168] Exemplarily, the domain controller of a vehicle may include, for example, a vehicle domain controller (VDC), a cockpit domain controller (CDC), a mobile data center (MDC), or an autonomous driving domain controller.

[0169] Exemplarily, vehicle components in the vehicle body domain may include, for example, vehicle doors, door and window lift controllers, electric rearview mirrors, air conditioners, or central door locks.

[0170] Exemplarily, vehicle components in the chassis domain may include, for example, vehicle components in a braking system (such as a brake pedal sensor and motor, etc.), vehicle components in a steering system (such as a steering wheel and a steering control module, etc.), or vehicle components in an acceleration system (such as an accelerator, etc.), etc.

[0171] Exemplarily, vehicle components in the cockpit domain may include seats, a head-up display, an instrument display, a radio, a navigation system or a camera, etc.

[0172] It will be understood that the above description of the nodes in the service chain is merely an example and does not constitute a limitation to the embodiments of the present application.

[0173] To facilitate understanding of the above business chains, some business chains within a vehicle are used as examples below.

[0174] For example, see Figure 2A .exist Figure 2A In the figure, the service chain of "car key-controller-car door" is shown. Exemplarily, the car key may be a wireless car key. The car key may send a service call instruction to unlock the car door (or lock the car door) to the controller (e.g., VDC). After receiving the service call instruction, the controller may generate a corresponding control instruction based on the instruction and send it to the car door, so that the ECU in the car door performs the operation of unlocking the car door (or locking the car door) according to the control instruction.

[0175] For example, see Figure 2B .exist Figure 2B In the figure, the service chain of "brake pedal sensor-controller-motor" is shown. For example, the brake pedal sensor can sense the brake control request from the driver through the brake pedal. Then, the brake pedal sensor can send a braking service call instruction to the controller (such as VDC). After receiving the service call instruction, the controller can generate a corresponding control instruction based on the instruction and send it to the motor, so that the motor performs the braking operation according to the control instruction.

[0176] For example, see Figure 2C .exist Figure 2C In the figure, the service chain of "mobile phone-telematics processor T-BOX-vehicle domain controller VDC-door" is shown. This service chain can be applied to the scenario of remotely unlocking the door. For example, the mobile phone can send a service call instruction to unlock the door to the T-BOX in the vehicle through the cellular network. After receiving the instruction, the T-BOX sends it to the vehicle domain controller VDC through the in-vehicle Ethernet. VDC then generates the corresponding control instruction based on the instruction and sends it to the door through the in-vehicle Ethernet or CAN bus. So that the ECU in the door performs the operation of unlocking the door according to the control instruction.

[0177] For example, see Figure 2D .exist Figure 2DIn the figure, the business chain of "mobile phone-telematics processor T-BOX-autonomous driving domain controller-vehicle domain controller VDC-door" is shown. This business chain can be applied to the scenario of remote automatic parking based on mobile phones. For example, the mobile phone can send a business call instruction for automatic parking to the T-BOX in the vehicle through the cellular network. After receiving the instruction, the T-BOX sends it to the autonomous driving domain controller through the in-vehicle Ethernet. The autonomous driving domain controller then sends the corresponding instruction to the vehicle domain controller VDC. VDC then generates the corresponding control instruction based on the instruction, and sends it to the ECU that performs automatic parking through the in-vehicle Ethernet or CAN bus. So that the ECU performs the automatic parking operation according to the control instruction.

[0178] Exemplarily, in a vehicle-related business chain, the nodes may be connected through a controller area network (CAN), a controller area network flexible data-rate (CAN-FD), an in-vehicle Ethernet, Bluetooth (BT), Spark Link, or other in-vehicle short-range wireless communication networks, and any combination thereof. The embodiments of the present application do not limit the specific communication method or communication network between nodes. Exemplarily, the arbitrary combination of methods includes, for example, that some nodes in the business chain communicate via Bluetooth connection, and some nodes communicate via CAN bus connection. Or, for example, it may include: some nodes in the business chain communicate via Spark Link connection, and some nodes communicate via CAN bus connection. Or, for example, it may include: some nodes in the business chain communicate via Spark Link connection, and some nodes communicate via in-vehicle Ethernet connection. It can be understood that the embodiments of the present application do not limit the combination method.

[0179] It is understandable that the above mainly takes the vehicle-related business chain as an example, which does not constitute a limitation on the embodiments of the present application. In a specific implementation, the above business chain can also be a business chain in an Internet technology (IT) system and an industrial control system. The embodiments of the present application do not limit the technical field to which the business chain belongs.

[0180] In the above-mentioned service chain, there is information transmission between nodes, so it is necessary to protect the information to avoid being attacked and counterfeited. The current mainstream information protection scheme is: the sender and the receiver share a key, and the sender calculates the target information and the fresh value to be transmitted through the shared key to generate a message verification code (message authentication code, MAC). Then, the target information and MAC are sent to the receiver. After the receiver receives the target information and MAC, the MAC and the fresh value are verified by the shared key to determine the authenticity and integrity of the received information. This implementation scheme is mainly designed for communication between two nodes. For a service chain scenario covering multiple nodes, if each node shares the same shared key, once a node is compromised, the leaked shared key will affect the communication between all nodes, resulting in an increased probability of information being attacked and counterfeited. In addition, if the information is attacked and counterfeited, it is also impossible to identify which node is attacked. Based on this, the embodiment of the present application provides a communication system, method and related device based on information verification, which can reduce the probability of information being attacked and counterfeited, and if the information is attacked and counterfeited, the attacked node can be quickly locked to achieve a faster security incident response and reduce security risks. An exemplary introduction is given below.

[0181] First, the communication system based on information verification provided by the embodiment of the present application includes any one of the service chains introduced above. Figure 1 Taking the service chain shown as an example, the communication system includes G nodes in the service chain. In the embodiment of the present application, a key chain can be deployed in the G nodes of the service chain to implement protection of information transmission between nodes.

[0182] Exemplarily, the key chain may include G different keys, one of the G keys corresponds to one of the G nodes, and different nodes correspond to different keys. Exemplarily, it is assumed that the G keys are numbered as key 1, key 2, key 3, ..., key G. It is assumed that the G nodes are numbered as node 1, node 2, node 3, ..., node G. Then, node i corresponds to key i. That is, node i uses key i to protect the transmitted information. i is any integer from 1 to G.

[0183] In a possible implementation, the key chain can be deployed in reverse to the node of the business chain, that is, the key i is determined based on the key i+1 through one or more first function calculations. In this description of calculating the key i based on the key i+1, the maximum value of i is G-1, and the same applies to the following, and no further explanation is given. The first function is a one-way function. For example, the first function can be a hash function (which can include one-way hash functions such as MD4, MD5, SHA-256, SHA-384, SHA-512, PIPEMD-160 or SHA-3) or an elliptic curve function, etc., which is difficult to obtain an inverse function. For ease of understanding, the following is an example of the first function being a hash function.

[0184] In a possible implementation, the key i is determined by performing a hash function calculation based on the key i+1. Figure 3 .exist Figure 3 As can be seen in the figure, the key chain includes G keys: key 1 = h G (s1), key 2 = h G-1 (s1), ..., key G-1 = h 2 (s1), key G = h(s1). That is, key i = h G-i+1 (s1). Among them, h G-i+1 (s1) represents the hash value obtained by performing G-i+1 hash calculations with the random number s1 as the seed, that is, the hash value is the key i. For example, each hash calculation in the G-i+1 hash calculations is a hash calculation performed again with the result of the previous hash calculation as input. The same is true in the subsequent introduction and will not be explained separately.

[0185] Specifically, the above Figure 3 In the example, the random number s1 is hashed once to obtain the key G = h(s1). Then the key G = h(s1) is hashed once to obtain the key G-1 = h 2 (s1). And so on, for key 2 = h G-1 (s1) Perform a hash calculation to obtain the key 1 = h G (s1). In addition, Figure 3 It can also be seen that node 1 corresponds to key 1, node 2 corresponds to key 2, and so on, node G-1 corresponds to key G-1, and node G corresponds to key G. For a more intuitive understanding, taking G=5 as an example, you can refer to Figure 4 .about Figure 4 For a detailed introduction, let G = 5, and then refer to Figure 3 The introduction of is not repeated here.

[0186] In another possible implementation, the key i is determined by performing multiple hash function calculations based on the key i+1. Figure 5 .exist Figure 5 As can be seen in the figure, the key chain includes G keys: key 1 = h (G-1)*q+1 (s1), key 2 = h (G-2)*q+1 (s1), ..., key G-1 = h q+1 (s1), key G = h(s1). That is, key i = h (G-i)*q+1 (s1). Where q is an integer greater than 1, h (G-i)*q+1 (s1) represents the hash value obtained by performing (Gi)*q+1 hash calculations with the random number s1 as the seed, that is, the hash value is the key i. Specifically, the random number s1 is hashed once to obtain the key G=h(s1). Then the key G=h(s1) is hashed q times to obtain the key G-1=h q+1 (s1). And so on, for key 2 = h (G-1)*q+1 (s1) Perform q hash calculations to obtain the key 1 = h G*q+1 (s1). In addition, Figure 5 It can also be seen that node 1 corresponds to key 1, node 2 corresponds to key 2, and so on, node G-1 corresponds to key G-1, and node G corresponds to key G. For a more intuitive understanding, take G=5, q=2 as an example, which can be exemplified by referring to Figure 6 .about Figure 6 For a detailed introduction, let G = 5, q = 2, and then refer to Figure 5 The introduction of is not repeated here.

[0187] In another possible implementation, the key i is determined based on the key i+1 after multiple hash function calculations, and the key G corresponding to the node G is a hash value obtained by performing p hash calculations with the random number s1 as the seed, where p is an integer greater than 1. For example, see Figure 7 .exist Figure 7 As can be seen in the figure, the key chain includes G keys: key 1 = h (G -1)*q+p (s1), key 2 = h (G-2)*q+p (s1), ..., key G-1 = h q+p (s1), key G = h p (s1). That is, key i = h (G-i)*q+p (s1). Where q and p are both integers greater than 1, h (G-i)*q+p(s1) represents the hash value obtained by performing (Gi)*q+p hash calculations with the random number s1 as the seed, that is, the hash value is the key i. Specifically, the random number s1 is hashed once to obtain the key G=h(s1). Then the key G=h(s1) is hashed q times to obtain the key G-1=h q+p (s1). And so on, for key 2 = h (G-1)*q+p (s1) Perform q hash calculations to obtain key 1 = h G*q+p (s1). In addition, Figure 7 It can also be seen that node 1 corresponds to key 1, node 2 corresponds to key 2, and so on, node G-1 corresponds to key G-1, and node G corresponds to key G. For a more intuitive understanding, take G=5, q=2, p=2 as an example, which can be exemplified by referring to Figure 8 .about Figure 8 For a detailed introduction, let G = 5, q = 2, p = 2, and then refer to Figure 7 The introduction of is not repeated here.

[0188] For example, in another possible implementation, the above Figure 7 In the key chain shown, the value of p can be 1. The key chain when p is 1 is the above Figure 5 Alternatively, the values ​​of p and q can both be 1, in which case the key chain is Figure 3 The key chain shown.

[0189] It is understandable that the above Figures 3 to 8 This is only an example and does not constitute a limitation to the embodiments of the present application.

[0190] For example, in a specific implementation, the key corresponding to the node can be pre-deployed to the node. For example, to ensure the security of the key, the vehicle cloud server can pre-generate a key chain based on a random number, and then deploy the key to each node through production line filling or security upgrade.

[0191] Alternatively, in another possible implementation, in a predefined security scenario during service deployment (such as a scenario where the vehicle has just been started and authorized by the owner), node i+1 can generate a key for node i and send the generated key to node i for storage. For example, take the example where key i is determined based on key i+1 after a hash function calculation. The end node of the service call (such as the above-mentioned node G) can first generate a random number and perform a hash calculation on the random number to obtain a hash value (such as the above-mentioned h(s1)), and use the hash value h(s1) as its own key. Then, a hash calculation is performed on the key h(s1) to obtain a second hash value (such as the above-mentioned h 2 (s1)), and the second hash value h 2(s1) is sent to the previous node (for example, node G-1) as its key. Similarly, node G-1 sends h 2 (s1) Perform a hash calculation to obtain h 3 (s1), and the h 3 (s1) is sent to node G-2 as its key. The same applies to other nodes. The deployment of the key chain is completed until each node in the service chain receives the key.

[0192] Alternatively, in another possible implementation, a node in the business chain acts as a trusted agent to replace the vehicle cloud server in method 1, generates random numbers and key chains, and distributes them to other nodes under a predefined security scenario.

[0193] It will be understood that the above-mentioned key deployment method is merely an example and does not constitute a limitation to the embodiments of the present application.

[0194] By deploying the key chain in the nodes of the service chain, the latter node can generate the key of the previous node by performing one or more hash operations on its own key, which is convenient for MAC verification. On the other hand, the embodiment of the present application generates the key chain through a one-way function, and reversely deploys the key chain to the nodes of the service chain, so that the key of the node in front of the service chain is difficult to derive the key of the node behind. Thus, even if the key of the node in front of the service chain is compromised and leaked, it is difficult for the attacker to obtain the key of the node behind. Thereby reducing the risk of the attacker forging the data sent by the node behind, helping to reduce the impact on the secure communication between the nodes behind.

[0195] In particular, the starting node in the service chain is usually a device or apparatus with an external interactive interface. For example, taking the above-mentioned vehicle-related service chain as an example, the starting node in the service chain is usually a device or apparatus such as a car key, a car screen, a head-up display or an instrument display. These devices or apparatuses have external interactive interfaces, and are more likely to be exposed, so they are more likely to be attacked. Therefore, through the reverse deployment of the key chain, the key corresponding to the starting node cannot be used to derive the key of the subsequent node, thereby minimizing the impact caused by the key leakage of the starting node.

[0196] In addition, since the keys deployed on each node are different, the attacked business node can be quickly located by analyzing the leaked keys, which helps to achieve faster security incident response.

[0197] Based on the above communication system, an embodiment of the present application provides a communication method based on information verification. Exemplarily, the method may involve three nodes in the service chain included in the communication system (referred to as the first node, the second node and the third node, respectively). Exemplarily, the first node, the second node and the third node are three adjacent nodes in the service chain. For example, the first node, the second node and the third node are respectively the above Figure 1 Node i-1, node i and node i+1 in the service chain shown. Fig. 9 The method may include but is not limited to the following steps.

[0198] S901. A first node generates a first verification code; the first verification code is a verification code generated based on first information and a first key.

[0199] For example, in a specific implementation, the first node may be a starting node or an intermediate node in the service chain. Figure 1 Taking the service chain shown as an example, the first node can be any one of node 1 to node G-2. The first node can send a service call instruction to the second node. In a specific implementation, in order to protect the security of the service call instruction during transmission, a key pre-deployed in the first node (i.e., the above-mentioned first key) can be used to generate verification information, that is, to generate the above-mentioned first verification code. The first key can be the key corresponding to the first node in the key chain introduced above. For details, please refer to the above introduction, which will not be repeated here.

[0200] Exemplarily, the first node can calculate the above-mentioned first information based on the first key using a preset algorithm to obtain the above-mentioned first verification code. In a possible implementation, the first information may include a first service call instruction and an identifier of the first node. The preset algorithm may be, for example, a hash message authentication code (HMAC) algorithm, a block cipher algorithm, or other MAC calculation algorithm constructed based on a hash algorithm, etc., which is not limited in the embodiments of the present application. The identifier of the first node may be, for example, the device number (or serial code) of the first node or other information that can be used to identify the first node, which is not limited in the embodiments of the present application. The identifier of the first node is associated with the key corresponding to the above-mentioned second node, and specific details are described later, which will not be described in detail here.

[0201] Exemplarily, in another possible implementation, in order to prevent replay attacks, the above-mentioned first information may also include a freshness value (referred to as the first freshness value). Exemplarily, the first freshness value may be, for example, a unique value of freshness determined based on a counter or a timestamp. Exemplarily, the first freshness value may be uniformly generated and distributed to each node by a node designated in the business chain as a first freshness value manager. Alternatively, the first freshness value may be generated and distributed to each node by other devices such as a cloud server corresponding to the business chain. The embodiment of the present application does not limit the calculation and management of the first freshness value.

[0202] Alternatively, in another possible implementation, the first information may also include other information, which is not limited in the embodiment of the present application.

[0203] Exemplarily, the above-mentioned preset algorithm is taken as an example of the HMAC algorithm. Assume that the above-mentioned first information includes a first business call instruction (represented by CMD1), a first fresh value (represented by F_value1) and an identifier of the first node (represented by ID1). The above-mentioned first key is represented by K1. Then, the CMD1, F_value1, ID1 and K1 are used as the input of the HMAC algorithm, and the output after calculation by the HMAC algorithm is the above-mentioned first check code. The first check code can be expressed as H(CMD1||F_value1||ID1||K1). It can be understood that, in a specific implementation, if the first information also includes other information, then the other information can be input together into the HMAC algorithm for calculation, and the embodiment of the present application does not limit this. In addition, the method of calculating the first check code here is only an example and does not constitute a limitation on the embodiment of the present application.

[0204] S902: The first node sends first information and a first verification code to the second node.

[0205] After the first node calculates and obtains the first check code, the first check code and the first information may be sent to the second node.

[0206] S903: The second node receives the first information and the first verification code, and verifies the first information based on the first verification code and a second key, where the second key is different from the first key.

[0207] Exemplarily, in the service chain, the second node is the next hop node of the first node. After receiving the first information and the first verification code from the first node, the second node can verify the first information. Exemplarily, based on the previous introduction to the key chain, the second node also corresponds to a key, namely the second key. The second key is different from the first key. Exemplarily, the first key is determined by calculating the second key N times using the first function. N is an integer greater than or equal to 1.

[0208] In a possible implementation, based on the above introduction, it can be known that the identifier of the first node is associated with the second key corresponding to the second node. Exemplarily, the identifier of the first node is used to instruct the second node to perform N calculations of the first function based on the second key to obtain the first key. That is, the identifier of the first node is associated with the N.

[0209] Specifically, after receiving the first information, the second node can obtain the identifier of the first node from the first information. And based on the identifier of the first node, determine the operation of performing N times of calculation of the first function based on the second key. For example, based on the identifier of the first node, determine the operation of performing N times of hash calculation based on the second key, etc. Then, the second node executes the operation to calculate the first key. The specific implementation of calculating the first key based on the second key can refer to the aforementioned Figures 3 to 8 The relevant introduction of any possible implementation method is not repeated here.

[0210] After the second node calculates the first key, it generates a local verification code based on the first key and the first information received. The algorithm used by the second node to generate the local verification code based on the first key and the first information is the same as the algorithm used by the first node to generate the first verification code based on the first information and the first key. For example, both are preset algorithms such as the HMAC algorithm. That is, the second node can use the calculated first key and the received first information as inputs to the preset algorithm, and the output calculated by the preset algorithm is the local verification code.

[0211] The second node compares the calculated local check code with the first check code received above. If the two check codes are the same, it indicates that the first information received by the second node is correct, and the verification is successful. On the contrary, if the two check codes are different, it indicates that the first information received by the second node is incorrect, and the verification fails. After the verification fails, the second node can take corresponding processing measures, such as discarding the received information or requesting the first node to retransmit, etc., which is not limited in the embodiments of the present application.

[0212] S904. When the first information is verified successfully, the second node sends the second information and the second verification code to the third node; the second information is generated based on the association with the first information, and the second verification code is a verification code generated based on the second information and the second key.

[0213] After the second node verifies the received first information, it can continue to send information to the next hop node, that is, the third node, based on the first service call instruction in the first information. Figure 2ATaking the business chain shown as an example, the first node is the car key, the second node is the controller, and the third node is the car door. Then, the first business call instruction sent by the first node to the second node is a business call instruction for opening the car door (or locking the car door). After verification, the second node can generate a corresponding control instruction based on the business call instruction for opening the car door (or locking the car door) and send it to the third node. So that the third node performs the operation of opening the car door (or locking the car door) according to the control instruction. It can be understood that this is only an example and does not constitute a limitation to the embodiments of the present application.

[0214] In a specific implementation, the second node may obtain the second information based on the first service call instruction in the first information. In a possible implementation, the second information may include the second service call instruction and the identifier of the second node. Exemplarily, the second service call instruction and the first service call instruction have the same instruction type, but the specific information or specific data representing the instruction may be the same or different. Specifically, in the same service chain, the starting node issues a service call instruction, and during the transmission of the instruction among the intermediate nodes of the service chain, these intermediate nodes may directly pass through the received service call instruction, or may forward it to the next hop node after corresponding processing (such as format conversion, protocol conversion, or content conversion). However, although the service call instruction may have changes in format, protocol, or specific content during the transmission of the service chain, its instruction type remains unchanged.

[0215] Exemplarily, the instruction type is a classification or simple description of a specific business call instruction, rather than the business call instruction itself. Compared with the business call instruction itself, the instruction type is more concise and occupies less bandwidth when transmitted. For example, taking a vehicle-related business call instruction as an example, the instruction type of the business call instruction may include a body control type (such as a door, light or window control instruction type), an air conditioning control type (such as various air conditioning adjustment instruction types), a driving control type (such as a steering or power control instruction type), etc. It will be understood that the introduction of the instruction type here is only an example and does not constitute a limitation on the embodiments of the present application.

[0216] The identification of the second node may be, for example, the device number (or serial code) of the second node or other information that can be used to identify the second node, which is not limited in the present embodiment. The identification of the second node is associated with the key corresponding to the third node, as described later, and will not be described in detail here.

[0217] Exemplarily, in another possible implementation, in order to prevent replay attacks, the second information may also include a freshness value (referred to as the second freshness value). Exemplarily, the second freshness value may be, for example, a unique value of freshness determined based on a counter or a timestamp. Exemplarily, the second freshness value may be uniformly generated and distributed to each node by a node designated in the business chain as a second freshness value manager. Alternatively, the second freshness value may be generated and distributed to each node by other devices such as a cloud server corresponding to the business chain. The embodiment of the present application does not limit the calculation and management of the second freshness value.

[0218] Alternatively, in another possible implementation, the second information may also include other information, which is not limited in the embodiment of the present application.

[0219] After the second node obtains the above-mentioned second information, it can calculate the second information with a preset algorithm based on the above-mentioned second key to obtain the above-mentioned second verification code. For the specific preset algorithm, reference can be made to the above-mentioned introduction, which will not be repeated here. For example, the preset algorithm is taken as an example of the HMAC algorithm. Assume that the second information includes a second business call instruction (represented by CMD2), a second fresh value (represented by F_value2) and an identifier of the second node (represented by ID2). The second key is represented by K2. Then, the CMD2, F_value2, ID2 and K2 are used as the input of the HMAC algorithm, and the output after the calculation of the HMAC algorithm is the second verification code. The second verification code can be expressed as H(CMD2||F_value2||ID2||K2). It can be understood that in a specific implementation, if the second information also includes other information, then the other information can be input together into the HMAC algorithm for calculation, and the embodiment of the present application does not limit this. In addition, the method for calculating the second verification code here is only an example and does not constitute a limitation on the embodiment of the present application.

[0220] Exemplarily, the preset algorithm for calculating the second check code may be the same as or different from the preset algorithm for calculating the first check code, and this embodiment of the present application does not impose any limitation on this.

[0221] After calculating and obtaining the second check code, the second node sends the check code and the second information to the third node.

[0222] In a possible implementation, in the service chain, the third node is the next hop node of the second node. After receiving the second information and the second check code from the second node, the third node can verify the second information. Exemplarily, based on the previous introduction to the key chain, the third node also corresponds to a key, which is referred to as the first preset information. The first preset information is different from the second key. Exemplarily, the second key is determined by calculating the first function M times for the first preset information. M is an integer greater than or equal to 1.

[0223] In a possible implementation, based on the above introduction, it can be known that the identifier of the second node is associated with the key corresponding to the third node (that is, the first preset information). Exemplarily, the identifier of the second node is used to instruct the third node to calculate the first function M times based on the first preset information to obtain the second key. That is, the identifier of the second node is associated with the M.

[0224] Specifically, after receiving the second information, the third node can obtain the identifier of the second node from the second information. And based on the identifier of the second node, determine the operation of performing M times of calculation of the first function based on the first preset information. For example, based on the identifier of the second node, determine the operation of performing M times of hash calculation based on the first preset information, etc. Then, the third node executes the operation to calculate the second key. The specific implementation of calculating the second key based on the first preset information can refer to the aforementioned Figures 3 to 8 The relevant introduction of any possible implementation method is not repeated here.

[0225] After the third node calculates the second key, it generates a local verification code based on the second key and the second information received. The algorithm used by the third node to generate the local verification code based on the second key and the second information is the same as the algorithm used by the second node to generate the second verification code based on the second information and the second key. For example, both are preset algorithms such as the HMAC algorithm. That is, the third node can use the calculated second key and the received second information as inputs to the preset algorithm, and the local verification code is the output calculated by the preset algorithm.

[0226] The third node compares the calculated local check code with the second check code received above. If the two check codes are the same, it indicates that the second information received by the third node is correct, and the verification is successful. On the contrary, if the two check codes are different, it indicates that the second information received by the third node is incorrect, and the verification fails. After the verification fails, the third node can take corresponding processing measures, such as discarding the received information or requesting the second node to retransmit, etc., which is not limited in the embodiment of the present application.

[0227] In a possible implementation, if the third node is a service call end node of the service chain, then after the second information is verified, the third node can perform a corresponding service operation based on the second service call instruction in the second information.

[0228] In summary, in the application scenario of multi-node business chains, each node uses different keys to protect the information sent, so that even if a node is compromised, the keys of other nodes cannot be obtained, thereby reducing the risk of attackers forging data transmission and helping to reduce the impact of secure communication between nodes. In addition, since different nodes are configured with different keys, the attacked node can be quickly located by analyzing the leaked keys, which helps to achieve faster security incident response.

[0229] In a possible implementation, in order to further protect the security of information transmitted between nodes in the service chain, Figures 3 to 8 On the basis of the key chain shown (referred to as the first key chain for short), a second key chain can also be deployed in the node of the business chain. This is because the design of the first key chain cannot defend against the scenario where the intermediate node is compromised. For example, if the intermediate node is compromised, the attacker can obtain the key deployed in the compromised node, and then calculate the forged check code through the key and the forged business call instruction, and send the forged check code and information to the next hop node. In this case, since the key is correct, the next hop node cannot recognize that the received information is forged information. Therefore, the embodiment of the present application provides the following solution. An exemplary introduction is given below.

[0230] Exemplarily, the above-mentioned second key chain can be deployed in some nodes in the business chain. For example, the second key chain can be deployed in the starting node and the business call end node of the business chain. For example, the second key chain can be deployed in the starting node, the business call end node, and one or more nodes in the intermediate nodes of the business chain. Or, for example, the second key chain can be deployed in the business call end node in the business chain, and one or more nodes in the remaining nodes. Or, for example, the second key chain can be deployed in some nodes in the intermediate nodes of the business chain. It can be understood that this is only an example and does not constitute a limitation on the embodiments of the present application.

[0231] Exemplarily, it is assumed that a second key chain is deployed in R nodes in the above-mentioned business chain. Then, the second key chain may include R different keys. R is an integer greater than 1 and less than G. One of the R keys corresponds to one of the R nodes, and different nodes correspond to different keys. Exemplarily, it is assumed that the R keys are numbered as key 1, key 2, key 3, ..., key R. It is assumed that the R nodes are numbered as node 1, node 2, node 3, ..., node R. Then, node j corresponds to key j. That is, node j uses key j to protect the transmitted information. The j is any integer from 1 to R.

[0232] In a possible implementation, the second key chain can be deployed in reverse to the nodes of the business chain, that is, the key j is determined based on the key j+1 through one or more first function calculations. In the description of calculating the key j based on the key j+1, the maximum value of j is R-1, and the same applies to the following, and no further explanation is given. The first function can refer to the above introduction and is not repeated here. Exemplarily, the key in the second key chain is obtained by performing one or more first function calculations with a random number s2 as a seed, and the random number s2 is different from the random number s1 used to generate the key of the first key chain.

[0233] Regarding the specific implementation of key j being determined based on key j+1 after one or more first function calculations, reference can be made to the aforementioned related introduction that key i is determined based on key i+1 after one or more first function calculations, which will not be elaborated here. For ease of understanding, the following takes the first function as a hash function as an example.

[0234] For example, in order to facilitate understanding of the second key chain, the second key chain is deployed in the start node of the service chain and the service call end node as an example. Fig.10 .like Fig.10 As shown, the business chain includes G nodes, and the first key chain is deployed in the G nodes. For specific implementation, please refer to the aforementioned Figures 3 to 8 The relevant introduction of is not repeated here. In addition, a second key chain is deployed in node 1 and node G. Node 1 is the starting node of the service chain, and node G is the service call end node of the service chain. It can be seen that the second key chain includes two keys: key 1'=h m+u (s2), key G' = h m (s2). m and u are both integers greater than or equal to 1. m (s2) represents the hash value obtained by performing m hash calculations with random number s2 as the seed. m+u (s2) represents the hash value obtained by performing m+u hash calculations with random number s2 as the seed. As can be seen, key 1'=h m+u(s2) can be based on the key G'=h m (s2) is obtained by performing u hash calculations. In addition, the key 1' = h m+u (s2) is deployed on node 1, and the key G'=h m (s2) is deployed on node G. In combination with the first key chain, two keys are deployed on node 1, namely, the above key 1 and the key 1'. Similarly, two keys are deployed on node G, namely, the above key G and the key G'.

[0235] For example, the second key chain is deployed in the starting node of the service chain, the service call end node, and one of the intermediate nodes. Fig.11 .like Fig.11 As shown, the business chain includes G nodes, and the first key chain is deployed in the G nodes. For specific implementation, please refer to the aforementioned Figures 3 to 8 The relevant introduction of is not repeated here. In addition, a second key chain is deployed in node 1, node j and node G. The j is any integer greater than 1 and less than G. Node 1 is the starting node of the service chain, node j is any node in the intermediate nodes of the service chain, and node G is the service call end node of the service chain. It can be seen that the second key chain includes three keys: key 1'=h m+2*u (s2), key j' = h m+u (s2), key G' = h m (s2). As above, m and u are both integers greater than or equal to 1. m (s2) represents the hash value obtained by performing m hash calculations with random number s2 as the seed. m+u (s2) represents the hash value obtained by performing m+u hash calculations with random number s2 as the seed. m+2*u (s2) represents the hash value obtained by performing m+2*u hash calculations with random number s2 as the seed. As can be seen, key 1'=h m+2*u (s2) can be based on the key j'=h m+u (s2) Perform u hash calculations to obtain the key j' = h m+u (s2) can be based on the key G'=h m (s2) is obtained by performing u hash calculations.

[0236] In addition, the key 1'=h m+2*u (s2) is deployed on node 1, and the key j'=h m+u (s2) is deployed at node j, and the key G'=h m(s2) is deployed on node G. Combined with the first key chain, two keys are deployed on node 1, namely, the key 1 and the key 1'. Similarly, two keys are deployed on node j, namely, the key j and the key j'. Two keys are deployed on node G, namely, the key G and the key G'.

[0237] It is understandable that the above Fig.10 and Fig.11 What is shown is only an example and does not constitute a limitation to the embodiments of the present application.

[0238] The following is an exemplary description of the process by which a node that has deployed the key of the second key chain uses the key to implement information transmission protection.

[0239] For example, in combination with the above Fig. 9 And its possible implementation method, assuming that the above-mentioned first node and third node also deploy the key of the second key chain. The key of the second key chain deployed in the first node is referred to as the third key. The key of the second key chain deployed in the third node is referred to as the second preset information. The third key is obtained by performing Q times of calculation of the first function based on the second preset information. For example, the third key is obtained by performing Q times of hash calculation based on the second preset information. Q is an integer greater than or equal to 1. The second preset information is associated with the identifier of the above-mentioned first node. Please refer to the following introduction for details, which will not be described in detail here.

[0240] In a possible implementation, illustratively, in addition to sending the first information and the first check code to the second node, the first node also sends third information and a third check code to the second node.

[0241] Based on the previous introduction, it can be known that the first information includes the first business call instruction and the identifier of the first node. Then, the third information may include the instruction type of the first business call instruction and the identifier of the first node. Alternatively, in order to prevent replay attacks, the third information may also include a fresh value (referred to as the third fresh value). The third fresh value may be the same as or different from the above-mentioned first fresh value. Exemplarily, the third fresh value may be, for example, a unique value of freshness determined based on a counter or a timestamp. Exemplarily, the third fresh value may be uniformly generated and distributed to each node by a certain node designated in the business chain as a third fresh value manager. Alternatively, the third fresh value may be generated and distributed to each node by other devices such as a cloud server corresponding to the business chain. The present embodiment of the application does not limit the calculation and management of the third fresh value. Alternatively, the third information may also include other information, which is not limited by the present embodiment of the application.

[0242] The third check code is a check code generated based on the third information and the third key. The first node can calculate the third information based on the third key using a preset algorithm to obtain the third check code. For the introduction of the preset algorithm, reference can be made to the above description, which will not be repeated here. For example, the preset algorithm is an HMAC algorithm. Assume that the third information includes the instruction type (expressed by type) of the first business call instruction, the third fresh value (expressed by F_value3) and the identification of the first node (expressed by ID1). The third key is represented by K3. Then, the type, F_value3, ID1 and K3 are used as the input of the HMAC algorithm, and the output after the calculation of the HMAC algorithm is the third check code. The third check code can be expressed as H(type||F_value3||ID1||K3). It can be understood that in a specific implementation, if the third information also includes other information, then the other information can be input into the HMAC algorithm together for calculation, and the embodiment of the present application does not limit this. In addition, the method for calculating the third check code here is only an example and does not constitute a limitation on the embodiment of the present application.

[0243] After the first node calculates and obtains the third check code, the third check code and the third information may be sent to the second node.

[0244] In a possible implementation, the second node does not deploy the key of the second key chain. In this case, after the second node receives the third information and the third verification code from the first node, it can send the third information and the third verification code to the third node if the first information is verified. That is, since the second node does not deploy the key of the second key chain, the second node does not need to verify the third information, but forwards the received information to the third node.

[0245] Alternatively, in another implementation, after the second node receives the third information and the third verification code from the first node, it can check whether the instruction type of the first business call instruction included in the third information is correct. Exemplarily, based on the foregoing description, the second node also receives the first information from the first node. Then, the second node can check whether the instruction type included in the third information matches the first business call instruction included in the received first information. That is, check whether the first business call instruction included in the first information is the business call instruction indicated by the instruction type included in the third information. If so, the check passes, and if not, the check fails. In the case where the check passes and the first information verification passes, the second node sends the third information and the third verification code to the third node.

[0246] In a possible implementation, after the third node receives the third information and the third verification code from the second node, the third information can be verified. Exemplarily, based on the foregoing introduction, the identifier of the first node included in the third information is associated with the key of the second key chain deployed in the third node (i.e., the second preset information). Exemplarily, the identifier of the first node is used to instruct the third node to perform Q times of calculation of the first function based on the second preset information to obtain the third key. That is, the identifier of the first node is associated with the Q.

[0247] Specifically, after receiving the third information, the third node can obtain the identifier of the first node from the third information. And based on the identifier of the first node, determine the operation of performing Q times of calculation of the first function based on the second preset information. For example, based on the identifier of the first node, determine the operation of performing Q times of hash calculation based on the second preset information, etc. Then, the third node executes the operation to calculate the third key. The specific implementation of calculating the third key based on the second preset information can refer to the aforementioned Figures 3 to 8 The relevant introduction of any possible implementation method is not repeated here.

[0248] After the third node calculates the third key, it generates a local verification code based on the third key and the third information received. The algorithm used by the third node to generate the local verification code based on the third key and the third information is the same as the algorithm used by the first node to generate the third verification code based on the third information and the third key. For example, both are preset algorithms such as the HMAC algorithm. That is, the third node can use the calculated third key and the received third information as inputs to the preset algorithm, and the output calculated by the preset algorithm is the local verification code.

[0249] The third node compares the calculated local check code with the third check code received above. If the two check codes are the same, it indicates that the third information received by the third node is correct, and the verification is successful. On the contrary, if the two check codes are different, it indicates that the third information received by the third node is incorrect, and the verification fails. If the verification fails, it indicates that the third information received by the third node may be forged by an attacker, thereby identifying security threats and responding to them in a timely manner.

[0250] In a possible implementation, after the third node verifies the received third information, it can further check whether the instruction type of the first service call instruction included in the third information is correct. Exemplarily, based on the foregoing description, the third node also receives the second information from the second node. And the second information includes a second service call instruction, and the instruction type of the second service call instruction is the same as that of the first service call instruction. Then, the third node can check whether the instruction type included in the third information matches the second service call instruction included in the received second information. That is, check whether the second service call instruction included in the second information is the service call instruction indicated by the instruction type included in the third information. If so, the check passes, and if not, the check fails. If the check fails, it indicates that the second information received by the third node may be forged by an attacker, thereby identifying security threats and responding to them in a timely manner.

[0251] In one possible implementation, if the third node is the service call end node of the service chain, then after the third information is verified and the instruction type included in the third information matches the second service call instruction included in the received second information, the third node can perform corresponding service operations based on the second service call instruction in the second information.

[0252] In a possible implementation, if the second node deploys the key of the second key chain (referred to as the fourth key). Fig.11 Node j shown. Then, after the second node receives the third information and the third verification code from the first node, the third information can be verified by the fourth key. The specific verification process can refer to the process of the third node verifying the received third information, which is not repeated here. If the verification is successful, the third information and the third verification code can be forwarded to the third node. If the verification fails, the second node can take corresponding processing measures, such as discarding the received information or requesting the first node to retransmit, etc., which is not limited in the embodiments of the present application.

[0253] It can be understood that, regarding the specific application of the above-mentioned second key chain, the specific operations performed by the above-mentioned first node, second node and third node are only examples and do not constitute a limitation on the embodiments of the present application.

[0254] In the above scheme, a second key chain is further deployed in the service chain, so that the scenario where the intermediate node is captured can be identified. For example, if the intermediate node (such as the second node mentioned above) is captured, although the attacker can obtain the key of the first key chain deployed in the second node, then calculate the forged verification code through the key and the forged service call instruction, and send the forged verification code and information to the subsequent node (such as the third node mentioned above). And because the key is correct, the third node cannot identify the received information as forged information through the key verification of the first key chain. However, in the present application scheme, the third node also deploys the key of the second key chain, and also receives information including the instruction type of the corresponding service call instruction from the second node. Then, the third node verifies the information based on the key of the second key chain. Further, it can also be checked whether the received service call instruction matches the instruction type. If the verification and / or inspection fails, the security threat can be identified and responded to in time. Thereby enhancing the protection of service chain information transmission and improving the security of the communication system.

[0255] In another possible implementation, the second key chain can be deployed separately in the service chain for use. In this case, the present application embodiment also provides another communication method based on information verification, which can be exemplified by referring to Fig.12 The method includes but is not limited to the following steps.

[0256] S1201. A first node generates a first verification code; the first verification code is a verification code generated based on first information and a first key.

[0257] S1202: The first node sends first information and a first verification code to the second node.

[0258] S1203: The second node receives the first information and the first verification code.

[0259] S1204. The second node sends the first information and the first verification code to the third node.

[0260] S1205. The third node receives the first information and the first verification code, and verifies the first information based on the first verification code and preset information; the preset information is used to generate a first key.

[0261] In a possible implementation, the first key is determined by calculating the preset information through one or more first functions, and the first function is a one-way function.

[0262] In a possible implementation, the aforementioned first information includes the identifier of the aforementioned first node; the aforementioned first key is obtained by performing Q hash calculations based on the aforementioned preset information; Q is an integer greater than or equal to 1; and Q is associated with the identifier of the aforementioned first node.

[0263] In a possible implementation manner, the first information includes an instruction type of the service call instruction;

[0264] The second node sends the first information and the first verification code to the third node, including:

[0265] In the case where the aforementioned instruction type matches the instruction type preset in the aforementioned second node, the aforementioned second node sends the aforementioned first information and the aforementioned first verification code to the aforementioned third node.

[0266] Exemplarily, the specific implementation of the above steps S1201 to S1205 can refer to the corresponding description in the above exemplary introduction of the node deploying the key of the second key chain to implement information transmission protection through the key. For example, the first information in steps S1201 to S1205 can be corresponded to the above third information, the first verification code can be corresponded to the above third verification code, the first key can be corresponded to the above third key, the preset information can be corresponded to the above second preset information, etc. No further details will be given here.

[0267] The above scheme can effectively defend against the scenario where the intermediate node of the business chain is compromised. Specifically, the second node does not deploy the key information related to the first key, and even if the second node is compromised, it cannot perceive the existence of the first key. Even if the attacker compromises the second node and forges the above first information and the first verification code, due to incorrect keys, the third node cannot pass the verification when verifying the forged first information through the locally generated first key. Therefore, security threats can be identified and responded to in a timely manner. This enhances the protection of business chain information transmission and improves the security of the communication system.

[0268] In a possible implementation manner, the first node is further used to send second information and a second verification code to the second node; the second verification code is a verification code generated based on the second information and the second key; the random number used to generate the second key is different from the random number used to generate the first key; the second information is associated with the first information;

[0269] The second node is used to receive the second information and the second verification code, and verify the second information based on the second verification code and the third key;

[0270] The aforementioned second node is also used to send third information and a third verification code to the aforementioned third node when the aforementioned second information is verified; the aforementioned third information is associated with the aforementioned second information, and the aforementioned third verification code is a verification code generated based on the aforementioned third information and a third key.

[0271] Optionally, the aforementioned second information is associated with the aforementioned first information, including: the aforementioned first information includes the instruction type of the business call instruction, and the aforementioned second information includes the aforementioned business call instruction.

[0272] Exemplarily, the second key and the third key may be the same or different. If the second key and the third key are different, the specific implementation process of the solution can be exemplarily referred to the aforementioned Fig. 9 The corresponding introduction in possible implementation modes will not be repeated here.

[0273] In the above scheme, the first node may also deploy a second key. The second key may be used to implement transmission protection of the second information. The second information is associated with the first information. That is, the first node may use different keys to send two associated information, so that the destination node receiving the information (such as the third node) performs the corresponding operation only when the two information are correct. This strengthens the protection of information transmission in the service chain.

[0274] In a possible implementation, the third node is further used to: execute the service call instruction when the instruction type matches the service call instruction included in the second information received by the third node. For the specific implementation of this solution, please refer to the corresponding description of the implementation process of the node deploying the key of the second key chain to implement information transmission protection through the key.

[0275] In the above scheme, the third node can further check whether the received business call instruction matches the received instruction type, and execute the corresponding instruction if the match is successful, thereby further strengthening the protection of information transmission and reducing the adverse effects caused by information forgery and tampering.

[0276] The above mainly provides an exemplary introduction to the communication method based on information verification provided by the embodiment of the present application. It is understandable that, in order to realize the corresponding functions mentioned above, each control unit or device includes a hardware structure and / or software module corresponding to the execution of each function. In combination with the units and steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0277] The embodiment of the present application can divide the functional modules of the device according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0278] In the case of dividing each functional module according to each function, the embodiment of the present application also provides an apparatus for implementing any of the above methods. For example, the provided apparatus includes a unit (or means) for implementing each step in any of the above methods.

[0279] For example, see Fig.13 , which is a structural diagram of a communication device 1300 based on information verification provided in an embodiment of the present application. Fig.13 The communication device 1300 based on information verification shown may be a second node for implementing any embodiment of the communication method based on information verification. The communication device 1300 based on information verification may include a receiving unit 1301 , a processing unit 1302 , and a sending unit 1303 .

[0280] in:

[0281] The receiving unit 1301 is used to receive first information and a first verification code; the first verification code is associated with the first information and the first key;

[0282] A processing unit 1302 is configured to verify the first information based on the first verification code and the second key;

[0283] The sending unit 1303 is used to send the second information and the second verification code when the first information is verified; the second information is associated with the first information, the second verification code is a verification code generated based on the second information and a second key, and the second key is different from the first key.

[0284] In a possible implementation manner, the first key is determined by calculating the second key using a first function once or multiple times, and the first function is a one-way function.

[0285] In a possible implementation manner, the first information includes an identifier of a node corresponding to sending the first information; and the processing unit 1302 is specifically configured to:

[0286] The first key is generated based on the identifier of the node and the second key; the first key is obtained by performing N hash calculations based on the second key; N is an integer greater than or equal to 1; and N is associated with the identifier of the node;

[0287] The first information is verified based on the first key and the first verification code.

[0288] In a possible implementation manner, the receiving unit 1301 is further configured to:

[0289] Receiving third information and a third verification code; the third information is associated with the first information; the third verification code is associated with the third information and a third key; wherein the random number associated with the third key is different from the random number associated with the first key;

[0290] The sending unit 1303 is specifically configured to send the second information, the second verification code, the third information, and the third verification code when the first information is verified successfully.

[0291] In a possible implementation manner, the sending unit 1303 is specifically configured to:

[0292] When the first information is verified and the third information is checked, the second information, the second check code, the third information and the third check code are sent.

[0293] In a possible implementation, the third information includes an instruction type of a service call instruction; if the instruction type matches the service call instruction included in the first information received by the device, the third information check passes.

[0294] In a possible implementation, the third information is associated with the first information, including: the first information includes a service call instruction, and the third information includes an instruction type of the service call instruction.

[0295] Fig.13 The specific operations and beneficial effects of each unit in the communication device 1300 based on information verification can be found in the above Fig. 9 The corresponding descriptions in possible embodiments thereof will not be repeated here.

[0296] For example, see Fig.14 , which is a structural diagram of a communication device 1400 based on information verification provided in an embodiment of the present application. Fig.14 The communication device 1400 based on information verification shown may be a first node for implementing any embodiment of the communication method based on information verification described above. The communication device 1400 based on information verification may include a processing unit 1401 and a sending unit 1402. Among them:

[0297] The processing unit 1401 is configured to generate a first verification code based on the first information and the first key, and to generate a third verification code based on the third information and the third key; the third information is associated with the first information, and a random number used to generate the third key is different from a random number used to generate the first key;

[0298] The sending unit 1402 is used to send the first information, the first check code, the third information and the third check code to the second node; the first check code is used to verify the first information, and the third check code is used to verify the third information.

[0299] In a possible implementation, the third information is associated with the first information, including: the first information includes a service call instruction, and the third information includes an instruction type of the service call instruction.

[0300] Fig.14 The specific operations and beneficial effects of each unit in the communication device 1400 based on information verification can be found in the above Fig. 9 The corresponding descriptions in possible embodiments thereof will not be repeated here.

[0301] For example, see Fig.15 , which is a structural diagram of a communication device 1500 based on information verification provided in an embodiment of the present application. Fig.15 The communication device 1500 based on information verification shown may be a third node for implementing any embodiment of the communication method based on information verification described above. The communication device 1500 based on information verification may include a receiving unit 1501 and a processing unit 1502. Among them:

[0302] A receiving unit 1501 is configured to receive second information and a second verification code from a second node; the second verification code is associated with the second information and a second key; the second information includes an identifier of the second node;

[0303] The processing unit 1502 is configured to generate the second key based on the identifier of the second node and the first preset information; and verify the second information based on the second key and the second verification code.

[0304] In a possible implementation, the second key is obtained by performing M hash calculations based on the first preset information; M is an integer greater than or equal to 1; and M is associated with an identifier of the second node.

[0305] In a possible implementation manner, the receiving unit 1501 is further configured to:

[0306] receiving third information and a third verification code; the third verification code is associated with the third information and a third key; the third information is associated with the second information; the third information includes an identifier of the first node;

[0307] The processing unit 1502 is further configured to:

[0308] The third key is generated based on the identifier of the first node and the second preset information; the third key is obtained by performing Q hash calculations based on the second preset information; Q is an integer greater than or equal to 1; Q is associated with the identifier of the first node;

[0309] The third information is verified based on the third key and the third verification code.

[0310] In a possible implementation manner, the third information is associated with the second information and includes:

[0311] The second information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

[0312] In a possible implementation manner, the processing unit 1502 is further configured to:

[0313] When the instruction type matches the service call instruction included in the second information received by the device, the service call instruction included in the second information is executed.

[0314] Fig.15 The specific operations and beneficial effects of each unit in the communication device 1500 based on information verification can be found in the above Fig. 9 The corresponding descriptions in possible embodiments thereof will not be repeated here.

[0315] In addition, the embodiment of the present application also provides a communication device based on information verification, the communication device includes a method for implementing the above Fig.12 The specific operation and beneficial effects of each unit can be found in the above Fig.12 The corresponding descriptions in possible embodiments thereof will not be repeated here.

[0316] The embodiment of the present application also provides a communication device based on information verification, the communication device includes a Fig.12 The specific operation and beneficial effects of each unit can be found in the above Fig.12 The corresponding descriptions in possible embodiments thereof will not be repeated here.

[0317] The embodiment of the present application also provides a communication device based on information verification, the communication device includes a Fig.12 The specific operation and beneficial effects of each unit can be found in the above Fig.12 The corresponding descriptions in possible embodiments thereof will not be repeated here.

[0318] It should be understood that the division of the units in the above communication device based on information verification is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. In addition, the units in the device can be implemented in the form of a processor calling software; for example, the device includes a processor, the processor is connected to a memory, and instructions are stored in the memory. The processor calls the instructions stored in the memory to implement any of the above methods or implement the functions of the units of the device, wherein the processor is, for example, a general-purpose processor, such as a central processing unit (CPU) or a microprocessor, and the memory is a memory inside the device or a memory outside the device. Alternatively, the units in the device can be implemented in the form of hardware circuits, and the functions of some or all of the units can be realized by designing the hardware circuits, and the hardware circuits can be understood as one or more processors; for example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), and the functions of some or all of the above units are realized by designing the logical relationship of the components in the circuit; for another example, in another implementation, the hardware circuit can be realized by a programmable logic device (PLD), taking a field programmable gate array (FPGA) as an example, which can include a large number of logic gate circuits, and the connection relationship between the logic gate circuits is configured by a configuration file, so as to realize the functions of some or all of the above units. All units of the above devices can be realized in the form of a processor calling software, or in the form of hardware circuits, or in part by a processor calling software, and the rest by hardware circuits.

[0319] In the embodiment of the present application, the processor is a circuit with data processing capability. In one implementation, the processor may be a circuit with instruction reading and running capability, such as a CPU, a microprocessor, a graphics processing unit (GPU) (which may be understood as a microprocessor), or a digital signal processor (DSP), etc.; in another implementation, the processor may implement certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit may be fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document and implementing the hardware circuit configuration may be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, it may also be a hardware circuit designed for artificial intelligence, which may be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.

[0320] It can be seen that each unit in the above device can be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.

[0321] In addition, all or part of the units in the above device can be integrated together, or can be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or implementing the functions of each unit of the device. The type of the at least one processor may be different, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, etc.

[0322] For example, see Fig.16 , which is a structural diagram of a possible physical entity of a communication device based on information verification provided in this application. Fig.16The communication device 1600 based on information verification shown can be a processing device in the method described in the above embodiment. The communication device 1600 based on information verification includes: a processor 1601, a memory 1602 and a communication interface 1603. The processor 1601, the communication interface 1603 and the memory 1602 can be connected to each other or connected to each other through a bus 1604.

[0323] Exemplarily, the memory 1602 is used to store computer programs and data of the information verification-based communication device 1600. The memory 1602 may include, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or portable read-only memory (compact disc read-only memory, CD-ROM), etc.

[0324] The software or program code required for all or part of the functions of the communication device based on information verification in the above method embodiment is stored in the memory 1602 .

[0325] In one possible implementation, if the software or program code required for some functions is stored in the memory 1602, the processor 1601, in addition to calling the program code in the memory 1602 to implement some functions, can also cooperate with other components (such as the communication interface 1603) to complete other functions described in the method embodiment (such as the function of receiving or sending data).

[0326] There may be multiple communication interfaces 1603 to support the information verification-based communication device 1600 to communicate, such as receiving or sending data or signals.

[0327] Exemplarily, the processor 1601 may be the CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms. The processor 1601 may be used to read the program stored in the memory 1602 and execute the above-mentioned Fig. 9 or Fig.12 Alternatively, the processor 1601 may be used to read the program stored in the memory 1602 and execute the above Fig. 9 or Fig.12 Alternatively, the processor 1601 may be used to read the program stored in the memory 1602 and execute the above Fig. 9 or Fig.12 The operations performed by the third node in the method described in its possible embodiments.

[0328] Fig.16 The specific operations and beneficial effects of each unit in the communication device 1600 based on information verification can be found in the above Fig. 9 or Fig.12 The corresponding descriptions in possible embodiments thereof will not be repeated here.

[0329] The present application also provides a chip, which includes a processor and a memory. The memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip executes the above Fig. 9 or Fig.12 And the operations performed by the first node in possible embodiments thereof.

[0330] The present application also provides a chip, which includes a processor and a memory. The memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip executes the above Fig. 9 or Fig.12 And the operations performed by the second node in possible embodiments thereof.

[0331] The present application also provides a chip, which includes a processor and a memory. The memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip executes the above Fig. 9 or Fig.12 And the operations performed by the third node in possible embodiments thereof.

[0332] The present application also provides a computer-readable storage medium, which stores a computer program or computer instructions, which is executed by a processor to implement the above Fig. 9 or Fig.12 And the method implemented by the first node in possible embodiments thereof.

[0333] The present application also provides a computer-readable storage medium, which stores a computer program or computer instructions, which is executed by a processor to implement the above Fig. 9 or Fig.12 And the method implemented by the second node in possible embodiments thereof.

[0334] The present application also provides a computer-readable storage medium, which stores a computer program or computer instructions, which is executed by a processor to implement the above Fig. 9 or Fig.12 And the method implemented by the third node in possible embodiments thereof.

[0335] The present application also provides a computer program product. When the computer program product is read and executed by a computer, the above Fig. 9 or Fig.12 The operations implemented by the first node in any one of the methods described in any of its possible embodiments will be executed.

[0336] The present application also provides a computer program product. When the computer program product is read and executed by a computer, the above Fig. 9 or Fig.12 The operations implemented by the second node in any one of the methods described in any possible embodiment thereof will be executed.

[0337] The present application also provides a computer program product. When the computer program product is read and executed by a computer, the above Fig. 9 or Fig.12 The operations implemented by the third node in any one of the methods described in any possible embodiment thereof will be executed.

[0338] In this application, the terms "first", "second", etc. are used to distinguish between identical or similar items with substantially the same effects and functions. It should be understood that there is no logical or temporal dependency between "first", "second", and "nth", nor is there a limitation on the quantity and execution order. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another element.

[0339] It should also be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0340] It should also be understood that the term “comprise” (also known as “includes,” “including,” “comprises” and / or “comprising”) when used in this specification specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0341] It should also be understood that the references to "one embodiment", "an embodiment", or "a possible implementation" throughout the specification mean that specific features, structures, or characteristics related to the embodiment or implementation are included in at least one embodiment of the present application. Therefore, the references to "in one embodiment" or "in an embodiment", or "a possible implementation" throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0342] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A communication system based on information verification, characterized in that: The system comprises a first node, a second node and a third node; The first node is used to send first information and a first verification code to the second node; the first verification code is a verification code generated based on the first information and a first key; The second node is used to receive the first information and the first verification code, and verify the first information based on the first verification code and the second key; The second node is also used to send second information and a second verification code to the third node when the first information is verified; the second information is associated with the first information, the second verification code is a verification code generated based on the second information and a second key, and the second key is different from the first key.

2. The system according to claim 1, characterized in that The first key is determined by calculating the second key through one or more first function calculations, and the first function is a one-way function.

3. The system according to claim 1 or 2, characterized in that: The first information includes an identifier of the first node; The second node is used to verify the first information based on the first verification code and the second key, including: The second node generates the first key based on the identifier of the first node and the second key; the first key is obtained by performing N hash calculations based on the second key; N is an integer greater than or equal to 1; N is associated with the identifier of the first node; The second node verifies the first information based on the first key and the first verification code.

4. The system according to any one of claims 1 to 3, characterized in that: The third node is used for: receiving the second information and the second check code; the second information including an identifier of the second node; generating the second key based on the identifier of the second node and the first preset information; The second information is verified based on the second key and the second verification code.

5. The system according to claim 4, characterized in that The second key is obtained by performing M hash calculations based on the first preset information; M is an integer greater than or equal to 1; and M is associated with the identifier of the second node.

6. The system according to any one of claims 1 to 5, characterized in that: The first node is further used to send third information and a third verification code to the second node; the third information is associated with the first information, and the third verification code is a verification code generated based on the third information and a third key, wherein a random number used to generate the third key is different from a random number used to generate the first key; The second node is further configured to receive the third information and the third verification code, and to send the third information and the third verification code to the third node when the first information is verified successfully.

7. The system according to claim 6, characterized in that The second node is further used to check the third information; The further sending the third information and the third verification code to the third node when the first information is verified includes: When the first information is verified and the third information is checked, the third information and the third check code are also sent to the third node.

8. The system according to claim 7, characterized in that The third information includes an instruction type of the service call instruction; if the instruction type matches the service call instruction included in the first information received by the second node, the third information check passes.

9. The system according to any one of claims 6 to 8, characterized in that: The third node is also used for: receiving the third information and the third check code; the third information including the identifier of the first node; Generate the third key based on the identifier of the first node and the second preset information; The third key is obtained by performing Q hash calculations based on the second preset information; Q is an integer greater than or equal to 1; Q is associated with the identifier of the first node; The third information is verified based on the third key and the third verification code.

10. The system according to any one of claims 6 to 9, characterized in that: The third information is associated with the first information and includes: The first information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

11. The system according to claim 10, characterized in that The third node is also used for: In a case where the instruction type matches the service call instruction included in the second information received by the third node, the service call instruction included in the second information is executed.

12. The system according to any one of claims 1 to 11, characterized in that: The first node, the second node and the third node are three adjacent nodes in a service chain included in the system, and the service chain is composed of multiple nodes that communicate in sequence to collaboratively implement the same business function service.

13. A communication method based on information verification, characterized in that: The method comprises: The second node receives the first information and the first verification code; the first verification code is associated with the first information and the first key; The second node verifies the first information based on the first verification code and the second key; When the first information is verified, the second node sends second information and a second verification code; the second information is associated with the first information, the second verification code is a verification code generated based on the second information and a second key, and the second key is different from the first key.

14. The method according to claim 13, characterized in that The first key is determined by calculating the second key through one or more first function calculations, and the first function is a one-way function.

15. The method according to claim 13 or 14, characterized in that The first information includes an identifier of a node that sends the first information; The second node verifies the first information based on the first verification code and the second key, including: The second node generates the first key based on the identifier of the node and the second key; the first key is obtained by performing N hash calculations based on the second key; N is an integer greater than or equal to 1; N is associated with the identifier of the node; The second node verifies the first information based on the first key and the first verification code.

16. The method according to any one of claims 13 to 15, characterized in that: The method further comprises: The second node receives third information and a third verification code; the third information is associated with the first information; the third verification code is associated with the third information and a third key; wherein the random number associated with the third key is different from the random number associated with the first key; The second node sending the second information and the second verification code when the first information is verified, includes: the second node sending the second information, the second verification code, the third information and the third verification code when the first information is verified.

17. The method according to claim 16, characterized in that The second node sending the second information, the second verification code, the third information and the third verification code when the first information is verified, comprises: When the first information passes verification and the third information passes checking, the second node sends the second information, the second check code, the third information and the third check code.

18. The method according to claim 17, characterized in that The third information includes an instruction type of the service call instruction; if the instruction type matches the service call instruction included in the first information received by the second node, the third information check passes.

19. The method according to any one of claims 16 to 18, characterized in that: The third information is associated with the first information, including: the first information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

20. A communication method based on information verification, characterized in that: The method comprises: The first node generates a first verification code based on the first information and the first key, and generates a third verification code based on the third information and the third key; the third information is associated with the first information, and the random number used to generate the third key is different from the random number used to generate the first key; The first node sends the first information, the first check code, the third information and the third check code to the second node; the first check code is used to verify the first information, and the third check code is used to verify the third information.

21. The method according to claim 20, characterized in that The third information is associated with the first information, including: the first information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

22. A communication method based on information verification, characterized in that: The method comprises: The third node receives the second information and the second verification code from the second node; the second verification code is associated with the second information and the second key; the second information includes the identification of the second node; The third node generates the second key based on the identifier of the second node and the first preset information; The third node verifies the second information based on the second key and the second verification code.

23. The method according to claim 22, characterized in that The second key is obtained by performing M hash calculations based on the first preset information; M is an integer greater than or equal to 1; and M is associated with the identifier of the second node.

24. The method according to claim 22 or 23, characterized in that The method further comprises: The third node receives the third information and the third verification code; the third verification code is associated with the third information and the third key; the third information is associated with the second information; the third information includes the identification of the first node; The third node generates the third key based on the identifier of the first node and the second preset information; the third key is obtained by performing Q hash calculations based on the second preset information; Q is an integer greater than or equal to 1; Q is associated with the identifier of the first node; The third node verifies the third information based on the third key and the third verification code.

25. The method according to claim 24, characterized in that The third information is associated with the second information and includes: The second information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

26. The method according to claim 25, characterized in that The method further comprises: In a case where the instruction type matches the service call instruction included in the second information received by the third node, the third node executes the service call instruction included in the second information.

27. A communication device based on information verification, characterized in that: The device comprises: A receiving unit, configured to receive first information and a first verification code; the first verification code is associated with the first information and a first key; A processing unit, configured to verify the first information based on the first verification code and a second key; A sending unit, used to send second information and a second verification code when the first information is verified; the second information is associated with the first information, the second verification code is a verification code generated based on the second information and a second key, and the second key is different from the first key.

28. The device according to claim 27, characterized in that The first key is determined by calculating the second key through one or more first function calculations, and the first function is a one-way function.

29. The device according to claim 27 or 28, characterized in that The first information includes an identifier of a node corresponding to sending the first information; and the processing unit is specifically configured to: The first key is generated based on the identifier of the node and the second key; the first key is obtained by performing N hash calculations based on the second key; N is an integer greater than or equal to 1; N is associated with the identifier of the node; The first information is verified based on the first key and the first verification code.

30. The device according to any one of claims 27 to 29, characterized in that The receiving unit is also used for: receiving third information and a third verification code; the third information is associated with the first information; the third verification code is associated with the third information and a third key; wherein the random number associated with the third key is different from the random number associated with the first key; The sending unit is specifically configured to send the second information, the second verification code, the third information and the third verification code when the first information is verified.

31. The device according to claim 30, characterized in that The sending unit is specifically used for: When the first information is verified and the third information is checked, the second information, the second check code, the third information and the third check code are sent.

32. The device according to claim 31, characterized in that The third information includes an instruction type of a service call instruction; if the instruction type matches the service call instruction included in the first information received by the device, the third information check passes.

33. The device according to any one of claims 27 to 32, characterized in that The third information is associated with the first information, including: the first information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

34. A communication device based on information verification, characterized in that: The device comprises: a processing unit, configured to generate a first verification code based on first information and a first key, and to generate a third verification code based on third information and a third key; the third information is associated with the first information, and a random number used to generate the third key is different from a random number used to generate the first key; A sending unit is used to send the first information, the first check code, the third information and the third check code to the second node; the first check code is used to verify the first information, and the third check code is used to verify the third information.

35. The device according to claim 34, characterized in that The third information is associated with the first information, including: the first information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

36. A communication device based on information verification, characterized in that: The device comprises: A receiving unit, configured to receive second information and a second verification code from a second node; the second verification code is associated with the second information and the second key; the second information includes an identifier of the second node; A processing unit is used to generate the second key based on the identifier of the second node and the first preset information; and verify the second information based on the second key and the second verification code.

37. The device according to claim 36, characterized in that The second key is obtained by performing M hash calculations based on the first preset information; M is an integer greater than or equal to 1; and M is associated with the identifier of the second node.

38. The device according to claim 36 or 37, characterized in that The receiving unit is also used for: receiving third information and a third verification code; the third verification code is associated with the third information and a third key; the third information is associated with the second information; the third information includes an identifier of the first node; The processing unit is further used for: The third key is generated based on the identifier of the first node and the second preset information; the third key is obtained by performing Q hash calculations based on the second preset information; Q is an integer greater than or equal to 1; Q is associated with the identifier of the first node; The third information is verified based on the third key and the third verification code.

39. The device according to claim 38, characterized in that The third information is associated with the second information and includes: The second information includes a service calling instruction, and the third information includes an instruction type of the service calling instruction.

40. The device according to claim 39, characterized in that The processing unit is further used for: In a case where the instruction type matches the service call instruction included in the second information received by the device, the service call instruction included in the second information is executed.

41. A communication device based on information verification, characterized in that: The device comprises a processor and a memory, wherein the memory is used to store a computer program or a computer instruction, and the processor is used to execute the computer program or the computer instruction stored in the memory, so that the device executes the method according to any one of claims 13 to 19; or, The processor is used to execute the computer program or computer instructions stored in the memory, so that the device performs the method according to claim 20 or 21; or, The processor is used to execute the computer program or computer instructions stored in the memory, so that the device performs the method according to any one of claims 22 to 26.

42. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or a computer instruction, and the computer program or the computer instruction is executed by a processor to implement the method according to any one of claims 13 to 19; or The computer program or computer instructions are executed by a processor to implement the method of claim 20 or 21; or, The computer program or computer instructions are executed by a processor to implement the method according to any one of claims 22 to 26.

43. A computer program product, characterized in that When the computer program product is executed by a processor, the method described in any one of claims 13 to 19 will be implemented; or, When the computer program product is executed by a processor, the method of claim 20 or 21 will be implemented; or, When the computer program product is executed by a processor, the method described in any one of claims 22 to 26 will be implemented.