Method, device, electronic device and storage medium for remotely controlling a vehicle

By aggregating and signing the vehicle control instruction flow in the remote control vehicle link, the problem that the remote control vehicle solution in the existing technology cannot guarantee safety and reliability, and achieve higher safety and processing efficiency.

CN115963808BActive Publication Date: 2025-03-21APOLLO INTELLIGENT CONNECTIVITY (BEIJING) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211737537.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2025-03-21
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

The existing remote control vehicle solution cannot guarantee the safety and reliability of remote control vehicle. The vehicle control command transmission link is too long and is prone to hackers, resulting in security risks of vehicle control.

Method used

Each participant in the vehicle control link aggregates the preset vehicle control command flow in sequence according to the preset execution order, generates target signature information, and detects the integrity of the vehicle control command flow by verifying multiple signatures in the vehicle, so as to limit the vehicle control command flow to the legal and valid link.

Benefits of technology

It effectively improves the safety, reliability and processing efficiency of remote control vehicles, prevents single-point attacks, and ensures the legality and integrity of vehicle control instructions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115963808B_ABST
    Figure CN115963808B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method, device, equipment and medium for remotely controlling a vehicle, which relates to the field of artificial intelligence, and in particular to technical fields such as autonomous driving and intelligent transportation. The specific technical scheme is as follows: each participating end in a vehicle control link performs aggregate signatures on a preset vehicle control instruction stream in sequence according to a preset execution order to generate target signature information; wherein the different participating ends in the vehicle control link include a user end and other participating ends, and the preset vehicle control instruction stream is used to represent identification information of vehicle control initiated by the user end; the target signature information is verified and a signature verification result is obtained; when the signature verification result indicates that the verification is passed, the vehicle is controlled to execute the received remote vehicle control instruction; otherwise, the vehicle is controlled to stop responding to the remote vehicle control instruction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of artificial intelligence, and in particular to technical fields such as autonomous driving and intelligent vehicle networking, and provides a method, device, electronic device, and storage medium for remotely controlling a vehicle. Background Art

[0002] In the fields of vehicle networking, autonomous driving, etc., remote vehicle control is a common application scenario. For example, users send remote vehicle control commands to the vehicle through smart terminals such as mobile phone APPs (applications) to remotely control the vehicle to turn on the air conditioning and seat heating in advance.

[0003] At present, the following two solutions are mainly used for remote control of vehicles:

[0004] Solution (1): If Figure 1 As shown, when the car owner needs to send a remote vehicle control command to the vehicle through the user-side APP, the remote vehicle control command is first sent to the TSP (remote vehicle service end or remote service provider), and the remote vehicle service end TSP determines whether the vehicle's T-BOX (a vehicle control module) is in an awake state. If it is in a dormant state, the T-BOX is awakened by the remote vehicle service end TSP; then the remote vehicle service end TSP sends the remote vehicle control command to the vehicle's T-BOX, and the T-BOX forwards it to the corresponding ECU (electronic control unit or on-board computer) to complete the execution of the remote vehicle control command.

[0005] Solution (2): If Figure 2 As shown, this solution is to add a third-party cloud service to solution (1). When the user needs to send a remote vehicle control command to the vehicle, the user first sends the remote vehicle control command to the remote vehicle service end TSP. After the remote vehicle service end TSP wakes up the vehicle's T-BOX, it forwards the remote vehicle control command to the third-party cloud service, and the third-party cloud service then sends the remote vehicle control command to the vehicle.

[0006] However, in the above two remote vehicle control scenarios, the remote vehicle control command passes through the user-side APP, the remote vehicle service end TSP, the third-party cloud service, the T-BOX and the ECU. The entire vehicle control command transmission link chain is too long. If any link is hacked, it may cause security risks in vehicle control. For example, if an attacker breaks into the car company cloud or a third-party cloud platform, he can bypass the vehicle owner and send the vehicle control command directly to the vehicle in the cloud. In addition, the cloud being hacked may also cause a large area of ​​vehicles to be controlled, expanding the scope of security threats. Summary of the invention

[0007] The technical problem to be solved by the present disclosure is to overcome the defect that the remote vehicle control solution in the prior art cannot ensure the safety and reliability of the remote vehicle control, and to provide a method, device, electronic device and storage medium for remotely controlling a vehicle.

[0008] The present invention solves the above technical problems through the following technical solutions:

[0009] According to one aspect of the present disclosure, a method for remotely controlling a vehicle is provided, the method comprising:

[0010] Each participating end in the control vehicle link performs aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order to generate target signature information;

[0011] The different participating terminals in the vehicle control link include a user terminal and other participating terminals, and the preset vehicle control instruction stream is used to represent identification information of vehicle control initiated by the user terminal;

[0012] Verify the target signature information and obtain the signature verification result;

[0013] When the signature verification result indicates that the verification is passed, the vehicle is controlled to execute the received remote vehicle control instruction; otherwise, the vehicle is controlled to stop responding to the remote vehicle control instruction.

[0014] According to another aspect of the present disclosure, there is provided a device for remotely controlling a vehicle, the device comprising:

[0015] The target signature information generation module is used to control each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order to generate target signature information;

[0016] The different participating terminals in the vehicle control link include a user terminal and other participating terminals, and the preset vehicle control instruction stream is used to represent identification information of vehicle control initiated by the user terminal;

[0017] A signature verification result acquisition module is used to verify the target signature information and obtain the signature verification result;

[0018] The first judgment module is used to call the vehicle control module to control the vehicle to execute the received remote vehicle control instruction when the signature verification result indicates that the verification is passed; otherwise, call the vehicle control module to control the vehicle to stop responding to the remote vehicle control instruction.

[0019] According to another aspect of the present disclosure, there is provided an electronic device, including:

[0020] at least one processor; and

[0021] a memory communicatively connected to the at least one processor; wherein,

[0022] The memory stores instructions that can be executed by the at least one processor. The instructions are executed by the at least one processor so that the at least one processor can perform the above method.

[0023] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the above method.

[0024] According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein the computer program implements the above method when executed by a processor.

[0025] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0027] Figure 1 It is a schematic diagram of a first scenario of a method for remotely controlling a vehicle in the prior art;

[0028] Figure 2 is a schematic diagram of a second scenario of a method for remotely controlling a vehicle in the prior art;

[0029] Figure 3 is a first flow chart of a method for remotely controlling a vehicle according to a first embodiment of the present disclosure;

[0030] Figure 4 is a second flow chart of the method for remotely controlling a vehicle according to the first embodiment of the present disclosure;

[0031] Figure 5 is a third flow chart of the method for remotely controlling a vehicle according to the first embodiment of the present disclosure;

[0032] Figure 6 is a fourth flow chart of the method for remotely controlling a vehicle according to the first embodiment of the present disclosure;

[0033] Figure 7 is a fifth flow chart of the method for remotely controlling a vehicle according to the first embodiment of the present disclosure;

[0034] Figure 8 is a schematic diagram of a first scenario of a method for remotely controlling a vehicle according to a first embodiment of the present disclosure;

[0035] Fig. 9is a schematic diagram of a first scenario of a method for remotely controlling a vehicle according to a first embodiment of the present disclosure;

[0036] Fig.10 is a sixth flow chart of the method for remotely controlling a vehicle according to the first embodiment of the present disclosure;

[0037] Fig.11 is a schematic diagram of a third scenario of the method for remotely controlling a vehicle according to the first embodiment of the present disclosure;

[0038] Fig.12 is a schematic diagram of a first module of a device for remotely controlling a vehicle according to a second embodiment of the present disclosure;

[0039] Fig.13 is a schematic diagram of a second module of the device for remotely controlling a vehicle according to the second embodiment of the present disclosure;

[0040] Fig.14 is a schematic structural diagram of an electronic device according to a third embodiment of the present disclosure. DETAILED DESCRIPTION

[0041] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0042] Example 1

[0043] like Figure 1 As shown, the method for remotely controlling a vehicle in this embodiment includes:

[0044] S101, controlling each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order to generate target signature information;

[0045] Among them, different participating ends in the vehicle control link include the user end and other participating ends, and the preset vehicle control instruction stream is used to represent the identification information of the vehicle control initiated by the user end;

[0046] S102, verify the target signature information and obtain the signature verification result;

[0047] S103. When the signature verification result indicates that the verification is passed, the vehicle is controlled to execute the received remote vehicle control command; otherwise, the vehicle is controlled to stop responding to the remote vehicle control command.

[0048] Among them, remote vehicle control commands include but are not limited to turning on the air conditioner and heating the seats in the car.

[0049] In this embodiment, a remote vehicle control security protection method based on CFI (Control-Flow Integrity) is proposed. In each link of the vehicle control link, the participating end is required to perform aggregate signatures on the input information. Finally, in the vehicle application, the integrity of the vehicle control instruction flow is detected by verifying multiple signatures, so as to limit the vehicle control instruction flow and require it to pass through the expected links, that is, it must be legal and valid in each participating end in the vehicle control link. If a participating end is attacked, when the attacker wants to bypass the user end and directly send a remote vehicle control instruction to the vehicle for vehicle control, the signature verification will fail due to the lack of the user's signature in the aggregate signature. The vehicle will determine that the current remote vehicle control instruction is an untrustworthy instruction, making the single-point attack invalid, thereby being able to timely and accurately resist the single-point attack, effectively improving the security, reliability and processing efficiency of remote vehicle control.

[0050] The method for remotely controlling a vehicle in this embodiment is to Figure 3 Further improvements to the scheme, specifically:

[0051] In one feasible solution, Figure 4 As shown, step S101 includes:

[0052] S100, pre-generate public keys and private keys corresponding to different participating terminals;

[0053] Among them, each participating terminal stores its own corresponding private key, and the public key corresponding to each participating terminal is pre-set in the vehicle.

[0054] Specifically, all participating entities (i.e., participating terminals) in the vehicle control link are required to have an elliptic curve key pair, which includes a public key (i.e., a public key) and a private key (i.e., a private key). The public key is a point on the elliptic curve, denoted by X, and the private key is a scalar on a finite field, denoted by x, satisfying: X=x*G, where G is the generating point on the elliptic curve. This solution does not limit the specific elliptic curve parameters used, as long as the corresponding public and private key generation can be achieved. In addition, a digital certificate can be used to carry the public key in the specific implementation, or other methods can be used, which are not limited here.

[0055] Step S101 includes:

[0056] S10111. In the first participating end in the vehicle control link, a preset vehicle control instruction stream is signed using a corresponding private key to obtain intermediate signature information, and the preset vehicle control instruction stream and the intermediate signature information are output to the next participating end according to a preset execution order;

[0057] S10112. In the next participating end, the corresponding private key is used to perform an aggregate signature on the intermediate signature information input by the previous participating end based on the preset vehicle control instruction stream to update the new intermediate signature information, and the preset vehicle control instruction stream and the intermediate signature information are output to the next participating end according to the preset execution order;

[0058] S10113, until the intermediate signature information output by the last participating end in the vehicle control link is obtained and used as the target signature information.

[0059] In this solution, each participant in the vehicle control link uses its own corresponding private key to perform an aggregate signature on the vehicle control command stream input by the previous participant, ensuring the security and reliability of the signature information, as well as the integrity of the CFI control stream, ensuring that a single point attack can be accurately identified.

[0060] In one feasible solution, Figure 5 As shown, step S101 includes:

[0061] S10121. Control each participating end in the vehicle control link to perform aggregate signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and using the preset aggregate signature algorithm to generate target signature information;

[0062] Step S102 includes:

[0063] S1021. Use the set aggregate signature verification algorithm to verify the target signature information based on the public key of each participating terminal, and obtain the signature verification result.

[0064] In this solution, the set aggregate signature verification algorithm adopted includes but is not limited to the BLS (an elliptic curve pairing technology based on bilinear mapping) aggregate signature algorithm, which can simplify the process of aggregate signature processing of the vehicle control instruction stream in each participating end, and ensure processing efficiency and feasibility; considering that multiple signatures will increase the space overhead of digital signatures, and the vehicle needs to perform multiple signature verifications, by introducing the BLS aggregate signature verification algorithm, the signature verification process of multiple signatures can be effectively simplified, and the storage and storage space occupied by multiple signatures can be reduced, effectively reducing the space overhead of multiple signatures, and at the same time simplifying multiple signature verifications into a single signature verification, thereby simplifying the signature verification process and improving the signature verification efficiency, thereby improving the response speed and processing efficiency of remote vehicle control.

[0065] Of course, other aggregate signature algorithms can also be considered, as long as they can achieve the above-mentioned signing and verification effects, which will not be elaborated here.

[0066] In one feasible solution, Figure 6 As shown, before step S10121, the following steps are also included:

[0067] S10120, preset different preset aggregation weights corresponding to the intermediate signature information of different participating terminals in the aggregation signature algorithm;

[0068] Step S10121 includes:

[0069] S101211. Control each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and the corresponding preset aggregation weight, using the set aggregation signature algorithm to generate target signature information.

[0070] In this solution, when the BLS aggregate signature algorithm is used, in order to resist malicious key attacks, additional processing is required during signature aggregation. For example, some nonlinear elements are added during signature aggregation to make malicious key attacks impossible, further ensuring the security of remote vehicle control. Specifically:

[0071] S=S1+S2+...

[0072] After adding nonlinear elements:

[0073] S=a1*S1+a2*S2+…

[0074] a i =hash(X i ||X1||X2||…)

[0075] Among them, S is the target signature information, S1, S2... correspond to the corresponding intermediate signature information of different participating terminals, a1, a2... correspond to the preset aggregation weights of different participating terminals, X1, X2 correspond to the public keys of different participating terminals, a i is the preset aggregation weight of the ith participant in the vehicle control link, X i is the public key of the ith participant in the vehicle control link. Of course, other feasible calculation methods can also be used to determine the preset aggregation weights of different participants, which will not be repeated here.

[0076] In an implementable solution, the preset vehicle control command flow is a remote vehicle control command initiated by a user terminal.

[0077] Other participating terminals in the vehicle control link include a remote vehicle control server; or, include a remote vehicle control server and one or more third-party cloud servers;

[0078] Among them, when the preset vehicle control command flow is a remote vehicle control command initiated by the user end, the preset execution order is the user end, the remote vehicle control server end and the third-party cloud server end.

[0079] like Figure 7 As shown, step S101 includes:

[0080] S10131. In the user end, the corresponding private key is used to sign the remote vehicle control instruction to obtain intermediate signature information, and the remote vehicle control instruction and the intermediate signature information are sent to the next participating end in the vehicle control link for aggregate signature, until the first signature result obtained by the last participating end is obtained and used as the target signature information;

[0081] Before step S102, the following steps are also included:

[0082] S10201. Send the target signature information and remote vehicle control instructions to the vehicle based on the last participating terminal.

[0083] In one feasible solution, the method for remotely controlling a vehicle further includes:

[0084] When the vehicle's T-BOX is in dormant state, the vehicle's T-BOX is awakened by the remote vehicle control server using a preset awakening method to enter normal working state;

[0085] In this solution, by timely identifying the working status of the vehicle's T-BOX, if the vehicle's T-BOX is in sleep mode when remote vehicle control is required, it needs to be awakened in time to ensure the response efficiency of remote vehicle control, avoid unnecessary waiting time, and ensure the user's remote vehicle control experience; specifically, the remote vehicle control server TSP wakes up the T-BOX by sending text messages or other methods.

[0086] After step S103, the method further includes:

[0087] After the vehicle completes the remote control command for a preset period of time, the T-BOX controlling the vehicle enters a dormant state.

[0088] In this solution, after the vehicle executes the remote control command, the T-BOX that controls the vehicle again is in a dormant state after a period of time to avoid unnecessary waste of resources.

[0089] Specifically, Figure 8 As shown in the figure, the participants in the vehicle control link include the user-side APP, the remote vehicle control server TSP and a third-party cloud server as an example:

[0090] The public and private keys of the user-side APP, the remote control vehicle server TSP, and the third-party cloud server are X1, x1, X2, x2, X3, and x3 respectively. When the user-side APP needs to remotely control the vehicle, it uses its own private key x1 to generate BLS signature information before sending the remote control vehicle instruction; according to the BLS aggregate signature algorithm, S1=x1*H(m), H(m) is the point on the elliptic curve obtained by hashing the remote control vehicle instruction m1; take the result of Hash(m) as the x coordinate of the point on the elliptic curve, and substitute it into the curve equation to obtain the y coordinate; take the point with smaller y, that is, if y does not exist, try Hash(m||1), Hash(m||2)... until the y value exists; then the user-side APP sends the remote control vehicle instruction ml and the signature S (S=S1 at this time) to the remote control vehicle server TSP.

[0091] After receiving the remote control vehicle server TSP, it uses its own private key x2 to perform BLS signature on the remote control vehicle instruction m1 to obtain the signature information S2, and then calculates the aggregate signature S (at this time S = S1 + S2); then the remote control vehicle instruction m1 and the signature S are sent to the third-party cloud service.

[0092] After receiving the remote vehicle control instruction m1, the third-party cloud server uses its own private key x3 to perform BLS signature on the remote vehicle control instruction m1 to obtain signature information S3, and then calculates the aggregate signature S (at this time S = S1 + S2 + S3), and then sends the remote vehicle control instruction m1 and the aggregate signature S to the T-BOX in the vehicle.

[0093] After receiving the remote vehicle control command m1 and the aggregate signature S, T-BOX uses the preset public keys X1, X2, and X3 of the user-side APP, the remote vehicle control server TSP, and the third-party cloud server to verify the aggregate signature S. If the signature verification is successful, it is considered that the remote vehicle control command m1 is indeed sent by the user-side APP and forwarded by the trusted remote vehicle control server TSP and the third-party cloud service, and the vehicle is controlled to execute the remote vehicle control command m1; if the signature verification fails, the remote vehicle control command m1 is discarded and the vehicle is controlled to stop responding to the remote vehicle control command m1.

[0094] Among them, the BLS aggregate signature verification algorithm: verify whether e(X, H(m)) = e(G, S) holds; among them, e(P, Q) is a bilinear mapping, X i is the public key of different participating terminals, and X is the aggregation result corresponding to the public keys of different participating terminals. The BLS aggregation signature verification algorithm verifies the aggregate information, which is a mature technology in the field and will not be described here.

[0095] If the remote vehicle control server TSP or the third-party cloud server is attacked, and the attacker wants to bypass the user end and directly send remote vehicle control instructions to the vehicle to control the vehicle, the signature verification will fail due to the lack of the user's signature in the aggregate signature. The vehicle will determine that the current remote vehicle control instruction is an untrusted instruction, making the single point attack invalid, thereby being able to resist single point attacks in a timely and accurate manner, ensuring the integrity of the CFI control flow, and effectively improving the security, reliability and processing efficiency of remote vehicle control.

[0096] In addition, based on the aggregate signature generated by three signers, namely the user-side APP, the remote vehicle control server TSP, and the third-party cloud server, only one signature verification is required in the vehicle, which speeds up the verification and ensures the response efficiency of the remote vehicle control. At the same time, the three signatures are aggregated as one signature, which effectively saves the space occupied by multiple signatures and effectively reduces the space overhead of multiple signatures.

[0097] In one feasible solution, the method for remotely controlling a vehicle further includes:

[0098] Before any participating end performs signature processing, the input remote vehicle control command is pre-processed to obtain the remote vehicle control command in a data format that matches the corresponding participating end;

[0099] Among them, the program-controlled vehicle instruction before preprocessing, the program-controlled vehicle instruction after preprocessing and the signature information after signature processing of the current participating end are sent to the next participating end.

[0100] In an implementable solution, before the step of verifying the target signature information and obtaining the signature verification result, the following steps are also included:

[0101] Acquire first semantic information of the target signature information and second semantic information of the remote vehicle control command;

[0102] When the first semantic information and the second semantic information are inconsistent, the vehicle is controlled to stop responding to the remote vehicle control command; otherwise, the step of verifying the target signature information and obtaining the signature verification result is executed.

[0103] like Fig. 9 As shown in the figure, the participants in the vehicle control link include the user-side APP, the remote vehicle control server TSP and a third-party cloud server as an example:

[0104] Considering some scenarios, the remote vehicle control server TSP, third-party cloud services, etc. may need to process and convert the remote vehicle control commands sent by the user-side APP. Each participant in the vehicle control command flow is allowed to process the input information and convert it into information available to the corresponding participant.

[0105] Since each participant in the flow may convert and process the original remote vehicle control command, the semantics of the information finally sent to the vehicle may not match the original remote vehicle control command (for example, the user APP expects to open the trunk, but the attacker breaks into the third-party cloud service and converts the information semantics into opening the door). Therefore, the original data needs to be sent out at the participating end of each link, and the semantics of the original remote vehicle control command and the converted command must be checked for consistency in the vehicle. If the semantics are inconsistent, the current remote vehicle control command is considered to be an unreliable command, which further ensures the safety and reliability of remote vehicle control.

[0106] Specifically, the public and private keys of the user-side APP, the remote vehicle control server TSP, and the third-party cloud server are X1, x1, X2, x2, X3, and x3 respectively. When the user-side APP needs to remotely control the vehicle, it uses its own private key x1 to generate BLS signature information before sending the remote vehicle control command; according to the BLS aggregate signature algorithm, S1=x1*H(m), H(m) is the point on the elliptic curve obtained by hashing the remote vehicle control command m1; take the result of Hash(m) as the x coordinate of the point on the elliptic curve, and substitute it into the curve equation to obtain the y coordinate; take the point with smaller y, that is, if y does not exist, try Hash(m||1), Hash(m||2)... until the y value exists; then the user-side APP sends the remote vehicle control command m1 and the signature S (S=S1 at this time) to the remote vehicle control server TSP.

[0107] After receiving the remote control vehicle server TSP, it converts the format of the remote control vehicle instruction m1 to obtain the intermediate conversion information m2; then it uses its own private key x2 to perform BLS signature on the intermediate conversion information m2 to obtain signature S2, and then calculates the aggregate signature S (at this time S = S1 + S2); then it sends the original remote control vehicle instruction m1, the intermediate conversion information m2 and the aggregate signature S to the third-party cloud service.

[0108] After receiving the intermediate conversion information m2, the third-party cloud server converts the format to obtain the intermediate conversion information m3; then uses its own private key m3 to perform BLS signature on the intermediate conversion information m3 to obtain signature S3, and then calculates the aggregate signature S (at this time S = S1 + S2 + S3), and then sends the original remote vehicle control instruction m1, the intermediate conversion information m2, the intermediate conversion information m3 and the aggregate signature S to the vehicle's T-BOX.

[0109] After the vehicle's T-BOX receives the original remote vehicle control command m1, the intermediate conversion information m2, the intermediate conversion information m3 and the aggregate signature S, it first verifies whether the semantics of the remote vehicle control command m1 and the intermediate conversion information m3 are consistent. If the semantics of the two are inconsistent, the remote vehicle control command m1 is discarded; if the semantics of the two are consistent, the aggregate signature S is verified using the preset user-side APP, remote vehicle control server TSP, and third-party cloud server public keys X1, X2, and X3. If the signature verification passes, it is considered that the remote vehicle control command m1 is indeed sent by the user-side APP and forwarded via the trusted remote vehicle control server TSP and third-party cloud service, and the vehicle is controlled to execute the remote vehicle control command m1; if the signature verification fails, the remote vehicle control command m1 is discarded and the vehicle is controlled to stop responding to the remote vehicle control command m1.

[0110] Among them, the BLS aggregate signature verification algorithm: verify whether e(X, H(m)) = e(G, S) holds; among them, e(P, Q) is a bilinear mapping, X i is the public key of different participating terminals, and X is the aggregation result corresponding to the public keys of different participating terminals. The BLS aggregation signature verification algorithm verifies the aggregate information, which is a mature technology in the field and will not be described here.

[0111] If the remote vehicle control server TSP or the third-party cloud server is attacked, and the attacker wants to bypass the user end and directly send remote vehicle control instructions to the vehicle to control the vehicle, the signature verification will fail due to the lack of the user's signature in the aggregate signature. The vehicle will determine that the current remote vehicle control instruction is an untrusted instruction, making the single point attack invalid, thereby being able to resist single point attacks in a timely and accurate manner, ensuring the integrity of the CFI control flow, and effectively improving the security, reliability and processing efficiency of remote vehicle control.

[0112] In addition, based on the aggregate signature generated by three signers, namely the user-side APP, the remote vehicle control server TSP, and the third-party cloud server, only one signature verification is required in the vehicle, which speeds up the verification and ensures the response efficiency of the remote vehicle control. At the same time, the three signatures are aggregated as one signature, which effectively saves the space occupied by multiple signatures and effectively reduces the space overhead of multiple signatures.

[0113] In one feasible solution, the vehicle and the user end are connected by near field communication, for example, by near field communication means such as Bluetooth, vehicle-mounted Wi-Fi (wireless network), etc., to achieve remote control of the vehicle.

[0114] The preset vehicle control instruction flow is a security token application request sent by the user end to the set participating end in the vehicle control link.

[0115] Specifically, other participating ends in the vehicle control link include a remote vehicle control server; or, a remote vehicle control server and one or more third-party cloud servers.

[0116] Among them, when the preset vehicle control instruction flow is a security token application request sent by the user end to the set participating end in the vehicle control link, the preset execution order is the user end, the remote vehicle control server end, the third-party cloud server end, and the user end.

[0117] like Fig.10 As shown, step S101 includes:

[0118] S1041. In the setting participant end, a target security token is generated based on the security token application request, the target security token is signed with a corresponding private key to obtain intermediate signature information, and the target security token and the intermediate signature information are sent to the next participant end in the vehicle control link;

[0119] When it is sent to the user end, the corresponding private key is used to perform an aggregate signature on the intermediate signature information input by the previous participant based on the target security token, and the second signature result obtained by the user end is used as the target signature information;

[0120] Before step S102, the following steps are also included:

[0121] S10202: Send the remote vehicle control command and target signature information to the vehicle based on the user terminal.

[0122] like Fig.11 As shown in the figure, the participants in the vehicle control link include the user-side APP, the remote vehicle control server TSP and a third-party cloud server as an example:

[0123] Specifically, the public and private keys of the user-side APP, the remote vehicle control server TSP, and the third-party cloud server are X1, x1, X2, x2, X3, x3 respectively. Before the user-side APP needs to remotely control the vehicle, the user APP first establishes a direct data communication link with the vehicle;

[0124] When the user-side APP needs to remotely control the vehicle, the user-side APP sends a security token application request to the remote vehicle control server TSP, and the vehicle control server TSP generates a security token Token based on the security token application request; the vehicle control server TSP uses its own private key x2 to sign the security token Token to obtain signature information S2, and then sends the security token Token and signature information S (at this time S=S2) to the third-party cloud service.

[0125] After receiving it, the third-party cloud service uses its own private key x3 to perform BLS signature on the security token Token to obtain signature S3, then calculates the aggregate signature S (at this time S = S2 + S3), and then sends the security token Token and signature information S to the user-side APP.

[0126] After receiving the security token Token and signature information S, the user-side APP uses its own private key x1 to perform BLS signature on the security token Token to obtain signature S1, and then calculates the aggregate signature S (at this time S = S1 + S2 + S3), and then sends the remote vehicle control command m and the final signature information S to the T-BOX in the vehicle.

[0127] After receiving the remote vehicle control command m and the aggregate signature S, T-BOX uses the preset public keys X1, X2, and X3 of the user-side APP, the remote vehicle control server TSP, and the third-party cloud server to verify the aggregate signature S. If the signature verification is successful, it is considered that the remote vehicle control command m is indeed sent by the user-side APP and forwarded by the trusted remote vehicle control server TSP and the third-party cloud service, and the vehicle is controlled to execute the remote vehicle control command m; if the signature verification fails, the remote vehicle control command m is discarded and the vehicle is controlled to stop responding to the remote vehicle control command m.

[0128] Among them, the BLS aggregate signature verification algorithm: verify whether e(X,H(m))=e(G,S) holds; among them, e(P,Q) is a bilinear mapping, X i is the public key of different participating terminals, and X is the aggregation result corresponding to the public keys of different participating terminals. The BLS aggregation signature verification algorithm verifies the aggregate information, which is a mature technology in the field and will not be described here.

[0129] If the remote vehicle control server TSP or the third-party cloud server is attacked, and the attacker wants to bypass the user end and directly send remote vehicle control instructions to the vehicle to control the vehicle, the signature verification will fail due to the lack of the user's signature in the aggregate signature. The vehicle will determine that the current remote vehicle control instruction is an untrusted instruction, making the single point attack invalid, thereby being able to resist single point attacks in a timely and accurate manner, ensuring the integrity of the CFI control flow, and effectively improving the security, reliability and processing efficiency of remote vehicle control.

[0130] In addition, based on the aggregate signature generated by three signers, namely the user-side APP, the remote vehicle control server TSP, and the third-party cloud server, only one signature verification is required in the vehicle, which speeds up the verification and ensures the response efficiency of the remote vehicle control. At the same time, the three signatures are aggregated as one signature, which effectively saves the space occupied by multiple signatures and effectively reduces the space overhead of multiple signatures.

[0131] Example 2

[0132] like Fig.12 As shown, the device for remotely controlling a vehicle in this embodiment includes:

[0133] The target signature information generation module 1 is used to control each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order to generate target signature information;

[0134] Among them, different participating ends in the vehicle control link include the user end and other participating ends, and the preset vehicle control instruction stream is used to represent the identification information of the vehicle control initiated by the user end;

[0135] The signature verification result acquisition module 2 is used to verify the target signature information and obtain the signature verification result;

[0136] The first judgment module 3 is used to call the vehicle control module to control the vehicle to execute the received remote vehicle control command when the signature verification result indicates that the verification is passed; otherwise, call the vehicle control module to control the vehicle to stop responding to the remote vehicle control command.

[0137] Among them, remote vehicle control commands include but are not limited to turning on the air conditioner and heating the seats in the car.

[0138] In this embodiment, a remote vehicle control security protection method based on CFI control flow integrity is proposed. In each link of the vehicle control link, the participating end is required to perform aggregate signatures on the input information. Finally, in the vehicle application, the integrity of the vehicle control instruction flow is detected by verifying multiple signatures, so as to limit the vehicle control instruction flow and require it to pass through the expected links, that is, it must be legal and valid in each participating end in the vehicle control link. If a participating end is attacked, when the attacker wants to bypass the user end and directly send a remote vehicle control instruction to the vehicle for vehicle control, the signature verification will fail due to the lack of the user's signature in the aggregate signature. The vehicle will determine that the current remote vehicle control instruction is an untrustworthy instruction, making the single-point attack invalid, thereby being able to timely and accurately resist the single-point attack, effectively improving the security, reliability and processing efficiency of remote vehicle control.

[0139] like Fig.13 As shown, the remote control vehicle device of this embodiment is Fig.12 Further improvements to the scheme, specifically:

[0140] In an practicable solution, the device for remotely controlling a vehicle in this embodiment further includes:

[0141] The public and private key generation module 4 is used to pre-generate the public and private keys corresponding to different participating terminals respectively;

[0142] Among them, each participating terminal stores its own corresponding private key, and the public key corresponding to each participating terminal is pre-set in the vehicle.

[0143] Specifically, all participating entities (i.e., participating terminals) in the vehicle control link are required to have an elliptic curve key pair, which includes a public key (i.e., a public key) and a private key (i.e., a private key). The public key is a point on the elliptic curve, denoted by X, and the private key is a scalar on a finite field, denoted by x, satisfying: X=x*G, where G is the generating point on the elliptic curve. This solution does not limit the specific elliptic curve parameters used, as long as the corresponding public and private key generation can be achieved. In addition, a digital certificate can be used to carry the public key in the specific implementation, or other methods can be used, which are not limited here.

[0144] The target signature information generation module 1 is used to sign the preset vehicle control instruction stream with the corresponding private key in the first participating end in the vehicle control link to obtain the intermediate signature information, and output the preset vehicle control instruction stream and the intermediate signature information to the next participating end according to the preset execution order;

[0145] In the next participating end, the corresponding private key is used to perform an aggregate signature on the intermediate signature information input by the previous participating end based on the preset vehicle control instruction stream to update the new intermediate signature information, and the preset vehicle control instruction stream and the intermediate signature information are output to the next participating end according to the preset execution order;

[0146] Until the intermediate signature information output by the last participating end in the vehicle control link is obtained and used as the target signature information.

[0147] In this solution, each participant in the vehicle control link uses its own corresponding private key to perform an aggregate signature on the vehicle control command stream input by the previous participant, ensuring the security and reliability of the signature information, as well as the integrity of the CFI control stream, ensuring that a single point attack can be accurately identified.

[0148] In an implementable solution, the target signature information generation module 1 is used to control each participating end in the vehicle control link to perform aggregate signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and adopt the set aggregate signature algorithm to generate the target signature information;

[0149] The signature verification result acquisition module 2 is used to verify the target signature information based on the public key of each participating terminal using the set aggregate signature verification algorithm and obtain the signature verification result.

[0150] In this solution, the BLS aggregate signature algorithm is adopted to simplify the process of aggregate signature processing of the vehicle control instruction stream in each participating end, and ensure processing efficiency and feasibility; considering that multiple signatures will increase the space overhead of digital signatures, and the vehicle needs to perform multiple signature verifications, the BLS aggregate signature verification algorithm is introduced to effectively simplify the multiple signature verification process, reduce the storage and storage space occupied by multiple signatures, effectively reduce the space overhead of multiple signatures, and simplify multiple signature verifications into a single signature verification, thereby simplifying the signature verification process and improving the signature verification efficiency, thereby improving the response speed and processing efficiency of remote vehicle control.

[0151] Of course, other aggregate signature algorithms can also be considered, as long as they can achieve the above-mentioned signing and verification effects, which will not be elaborated here.

[0152] In an practicable solution, the device for remotely controlling a vehicle in this embodiment further includes:

[0153] Aggregation weight preset module 5, used to preset different preset aggregation weights corresponding to the intermediate signature information of different participating terminals in the aggregation signature algorithm;

[0154] The target signature information generation module 1 is used to control each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and the corresponding preset aggregation weight, using the set aggregation signature algorithm to generate the target signature information.

[0155] In this solution, when the BLS aggregate signature algorithm is used, in order to resist malicious key attacks, additional processing is required during signature aggregation. For example, some nonlinear elements are added during signature aggregation to make malicious key attacks impossible, further ensuring the security of remote vehicle control. Specifically:

[0156] S=S1+S2+…

[0157] After adding nonlinear elements:

[0158] S=a1*S1+a2*S2+…

[0159] a i =hash(X i ||X1||X2||…)

[0160] Among them, S is the target signature information, S1, S2... correspond to the corresponding intermediate signature information of different participating terminals, a1, a2... correspond to the preset aggregation weights of different participating terminals, X1, X2 correspond to the public keys of different participating terminals, a i is the preset aggregation weight of the ith participant in the vehicle control link, X iis the public key of the ith participant in the vehicle control link. Of course, other feasible calculation methods can also be used to determine the preset aggregation weights of different participants, which will not be repeated here.

[0161] In an implementable solution, the preset vehicle control command flow is a remote vehicle control command initiated by a user terminal;

[0162] Specifically, other participating terminals in the vehicle control link include a remote vehicle control server; or, include a remote vehicle control server and one or more third-party cloud servers;

[0163] Among them, when the preset vehicle control command flow is a remote vehicle control command initiated by the user end, the preset execution order is the user end, the remote vehicle control server end and the third-party cloud server end.

[0164] The target signature information generation module 1 is used to use the corresponding private key in the user terminal to sign the remote vehicle control instruction to obtain the intermediate signature information, and send the remote vehicle control instruction and the intermediate signature information to the next participating terminal in the vehicle control link for aggregate signature, until the first signature result obtained by the last participating terminal is obtained and used as the target signature information;

[0165] The device for remotely controlling the vehicle also includes:

[0166] The information sending module 6 is used to send the target signature information and the remote vehicle control command to the vehicle based on the last participating terminal.

[0167] In an implementable solution, the device for remotely controlling a vehicle further includes:

[0168] The wake-up control module 7 is used to wake up the vehicle's T-BOX in a preset wake-up mode through the remote vehicle control service end when the vehicle's T-BOX is in a dormant state so that the T-BOX enters a normal working state;

[0169] In this solution, by timely identifying the working status of the vehicle's T-BOX, if the vehicle's T-BOX is in sleep mode when remote vehicle control is required, it needs to be awakened in time to ensure the response efficiency of remote vehicle control, avoid unnecessary waiting time, and ensure the user's remote vehicle control experience; specifically, the remote vehicle control server TSP wakes up the T-BOX by sending text messages or other methods.

[0170] The sleep state control module is used to control the vehicle's T-BOX to enter a sleep state after the vehicle has completed the remote vehicle control command for a preset time.

[0171] In this solution, after the vehicle executes the remote control command, the T-BOX that controls the vehicle again is in a dormant state after a period of time to avoid unnecessary waste of resources.

[0172] In an implementable solution, the device for remotely controlling a vehicle further includes:

[0173] The preprocessing module 8 is used to preprocess the input remote vehicle control instruction before any participating terminal performs signature processing to obtain the remote vehicle control instruction in a data format that matches the corresponding participating terminal.

[0174] Among them, the program-controlled vehicle instruction before preprocessing, the program-controlled vehicle instruction after preprocessing and the signature information after signature processing of the current participating end are sent to the next participating end.

[0175] In an implementable solution, the device for remotely controlling a vehicle further includes:

[0176] A first semantic information acquisition module 9, used to acquire first semantic information of target signature information;

[0177] A second semantic information acquisition module 10, used to acquire second semantic information of the remote vehicle control command;

[0178] The second judgment module 11 is used to control the vehicle to stop responding to the remote vehicle control command when the first semantic information and the second semantic information are inconsistent; otherwise, the signature verification result acquisition module 2 is called.

[0179] In this solution, considering that in some scenarios, the remote vehicle control server TSP, third-party cloud services, etc. may need to process and convert the remote vehicle control commands sent by the user-side APP, each participant in the vehicle control command flow is allowed to process the input information and convert it into information available to the corresponding participant.

[0180] Since each participant in the flow may convert the original remote control vehicle command, the semantics of the information finally sent to the vehicle may not match the original remote control vehicle command (for example, the user APP expects to open the trunk, but the attacker breaks into the third-party cloud service and converts the information semantics to open the door). Therefore, it is required that the original data be sent out at each participant in the process, and the semantics of the original remote control vehicle command and the converted command be checked for consistency in the vehicle. If the semantics are inconsistent, the security and reliability of the remote control vehicle are further guaranteed. The current remote control vehicle command is considered to be an untrustworthy command.

[0181] In one feasible solution, the vehicle and the user terminal are connected by near-field communication, for example, by near-field communication means such as Bluetooth, in-vehicle Wi-Fi, etc., to achieve remote control of the vehicle.

[0182] The preset vehicle control instruction flow is a security token application request sent by the user end to the set participating end in the vehicle control link.

[0183] Specifically, other participating ends in the vehicle control link include a remote vehicle control server; or, a remote vehicle control server and one or more third-party cloud servers.

[0184] Among them, when the preset vehicle control instruction flow is a security token application request sent by the user end to the set participating end in the vehicle control link, the preset execution order is the user end, the remote vehicle control server end, the third-party cloud server end, and the user end.

[0185] The target signature information generation module 1 is used to generate a target security token based on a security token application request in a set participating end, sign the target security token with a corresponding private key to obtain intermediate signature information, and send the target security token and the intermediate signature information to the next participating end in the vehicle control link;

[0186] When it is sent to the user end, the corresponding private key is used to perform an aggregate signature on the intermediate signature information input by the previous participating end based on the target security token, and the second signature result obtained by the user end is used as the target signature information.

[0187] It should be noted that the working principle of the device for remotely controlling a vehicle in this embodiment is the same as the working principle of the method for remotely controlling a vehicle in Embodiment 1, and therefore will not be described in detail herein.

[0188] Example 3

[0189] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0190] Fig.14 A schematic block diagram of an example electronic device 800 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0191] like Fig.14As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0192] A number of components in the device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0193] The computing unit 801 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as the above method. For example, in some embodiments, the above method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the above method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the above method in any other appropriate manner (e.g., by means of firmware).

[0194] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0195] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0196] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0197] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0198] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0199] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0200] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0201] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A method for remotely controlling a vehicle, the method comprising: Each participating end in the control vehicle link performs aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order to generate target signature information; The different participating terminals in the vehicle control link include a user terminal and other participating terminals, and the preset vehicle control instruction stream is used to represent identification information of vehicle control initiated by the user terminal; Verify the target signature information and obtain the signature verification result; When the signature verification result indicates that the verification is passed, controlling the vehicle to execute the received remote vehicle control command; otherwise, controlling the vehicle to stop responding to the remote vehicle control command; the method further includes: Pre-generate public keys and private keys corresponding to different participating terminals respectively; The step of performing aggregation signatures on the preset vehicle control instruction streams in sequence according to the preset execution order by each participating end in the vehicle control link to generate target signature information includes: In the first participating end in the vehicle control link, the preset vehicle control instruction stream is signed with the corresponding private key to obtain intermediate signature information, and the preset vehicle control instruction stream and the intermediate signature information are output to the next participating end according to the preset execution order; In the next participating terminal, the corresponding private key is used to perform an aggregate signature on the intermediate signature information input by the previous participating terminal based on the preset vehicle control instruction stream, so as to update and obtain new intermediate signature information, and the preset vehicle control instruction stream and the intermediate signature information are output to the next participating terminal according to the preset execution order; Until the intermediate signature information output by the last participating end in the vehicle control link is obtained and used as the target signature information.

2. According to the method of claim 1, each participating end in the control vehicle link sequentially aggregates and signs the preset vehicle control instruction stream in accordance with the preset execution order to generate the target signature information, comprising: Control each of the participating terminals in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and adopt a set aggregation signature algorithm to generate the target signature information; The vehicle stores a public key corresponding to each of the participating terminals; The step of verifying the target signature information and obtaining the signature verification result includes: The target signature information is verified based on the public key of each participating terminal using a set aggregate signature verification algorithm, and the signature verification result is obtained.

3. The method of claim 2, further comprising: Preset the intermediate signature information of different participating terminals in the set aggregation signature algorithm to correspond to different preset aggregation weights; The step of controlling each of the participating terminals in the vehicle control link to perform aggregate signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and using a set aggregate signature algorithm to generate the target signature information includes: Control each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and the corresponding preset aggregation weight, and use the set aggregation signature algorithm to generate the target signature information.

4. The method according to any one of claims 1 to 3, wherein the preset vehicle control instruction stream is the remote vehicle control instruction initiated by the user terminal; The step of performing aggregation signatures on the preset vehicle control instruction streams in sequence according to the preset execution order by each participating end in the vehicle control link to generate target signature information includes: The remote vehicle control instruction is signed by using the corresponding private key in the user terminal to obtain the intermediate signature information, and the remote vehicle control instruction and the intermediate signature information are sent to the next participating terminal in the vehicle control link for aggregate signature, until the first signature result obtained by the last participating terminal is obtained and used as the target signature information; The method further comprises: Based on the last participating terminal, the target signature information and the remote vehicle control instruction are sent to the vehicle.

5. The method of claim 4, further comprising: Before any of the participating terminals performs signature processing, the input remote vehicle control instruction is preprocessed to obtain the remote vehicle control instruction in a data format that matches the corresponding participating terminal.

6. The method according to claim 4, before the step of verifying the target signature information and obtaining the signature verification result, further comprises: Acquire the first semantic information of the target signature information and the second semantic information of the remote vehicle control instruction; When the first semantic information and the second semantic information are inconsistent, controlling the vehicle to stop responding to the remote vehicle control instruction; Otherwise, execute the step of verifying the target signature information and obtaining the signature verification result.

7. The method according to any one of claims 1 to 3, wherein the vehicle and the user end are connected by near field communication, and the preset vehicle control instruction flow is a security token application request sent by the user end to a set participating end in the vehicle control link; The step of performing aggregation signatures on the preset vehicle control instruction streams in sequence according to the preset execution order by each participating end in the vehicle control link to generate target signature information includes: In the setting participant end, a target security token is generated based on the security token application request, the target security token is signed with a corresponding private key to obtain the intermediate signature information, and the target security token and the intermediate signature information are sent to the next participant end in the vehicle control link; Until it is sent to the user end, the intermediate signature information input by the previous participating end is aggregated and signed based on the target security token using the corresponding private key, and the second signature result obtained by the user end is used as the target signature information; The method further comprises: The remote vehicle control instruction and the target signature information are sent to the vehicle based on the user terminal.

8. The method according to claim 1, wherein the other participating terminals in the vehicle control link include a remote vehicle control service terminal; or The other participating terminals in the vehicle control link include a remote vehicle control server and one or more third-party cloud servers; in, When the preset vehicle control instruction flow is the remote vehicle control instruction initiated by the user terminal, the preset execution order is the user terminal, the remote vehicle control server terminal and the third-party cloud server terminal; When the preset vehicle control instruction flow is a security token application request sent by the user end to a set participating end in the vehicle control link, the preset execution order is the user end, the remote vehicle control service end, the third-party cloud service end, and the user end.

9. The method of claim 8, further comprising: When the T-BOX of the vehicle is in a dormant state, the T-BOX of the vehicle is awakened by the remote vehicle control server in a preset awakening mode to enter a normal working state; After the step of controlling the vehicle to execute the received remote vehicle control command, the method further includes: After the vehicle has executed the remote vehicle control command for a preset time, the T-BOX controlling the vehicle enters a dormant state.

10. A device for remotely controlling a vehicle, the device comprising: The target signature information generation module is used to control each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order to generate target signature information; The different participating terminals in the vehicle control link include a user terminal and other participating terminals, and the preset vehicle control instruction stream is used to represent identification information of vehicle control initiated by the user terminal; A signature verification result acquisition module is used to verify the target signature information and obtain the signature verification result; The first judgment module is used to call the vehicle control module to control the vehicle to execute the received remote vehicle control command when the signature verification result indicates that the verification is passed; otherwise, call the vehicle control module to control the vehicle to stop responding to the remote vehicle control command; the device also includes: A public and private key generation module, used to pre-generate public keys and private keys corresponding to different participating terminals respectively; The target signature information generation module is used to sign the preset vehicle control instruction stream with the corresponding private key in the first participating end in the vehicle control link to obtain intermediate signature information, and output the preset vehicle control instruction stream and the intermediate signature information to the next participating end according to the preset execution order; In the next participating terminal, the corresponding private key is used to perform an aggregate signature on the intermediate signature information input by the previous participating terminal based on the preset vehicle control instruction stream, so as to update and obtain new intermediate signature information, and the preset vehicle control instruction stream and the intermediate signature information are output to the next participating terminal according to the preset execution order; Until the intermediate signature information output by the last participating end in the vehicle control link is obtained and used as the target signature information.

11. The device according to claim 10, wherein the target signature information generation module is used to control each of the participating terminals in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and adopt a set aggregation signature algorithm to generate the target signature information; The vehicle stores a public key corresponding to each of the participating terminals; The signature verification result acquisition module is used to verify the target signature information based on the public key of each participating terminal using a set aggregate signature verification algorithm, and obtain the signature verification result.

12. The apparatus of claim 11, further comprising: An aggregation weight preset module, used to preset different preset aggregation weights corresponding to the intermediate signature information of different participating terminals in the set aggregation signature algorithm; The target signature information generation module is used to control each participating end in the vehicle control link to perform aggregation signatures on the preset vehicle control instruction stream in sequence according to the preset execution order and the corresponding preset aggregation weight, using the set aggregation signature algorithm to generate the target signature information.

13. The device according to any one of claims 10 to 12, wherein the preset vehicle control instruction flow is the remote vehicle control instruction initiated by the user terminal; The target signature information generation module is used to use the corresponding private key in the user terminal to sign the remote vehicle control instruction to obtain the intermediate signature information, and send the remote vehicle control instruction and the intermediate signature information to the next participating terminal in the vehicle control link for aggregate signature, until the first signature result obtained by the last participating terminal is obtained and used as the target signature information; The device also includes: The information sending module is used to send the target signature information and the remote vehicle control instruction to the vehicle based on the last participating terminal.

14. The apparatus of claim 13, further comprising: The preprocessing module is used to preprocess the input remote vehicle control instruction before any of the participating terminals performs signature processing to obtain the remote vehicle control instruction in a data format that matches the corresponding participating terminal.

15. The apparatus of claim 13, further comprising: A first semantic information acquisition module, used to acquire first semantic information of the target signature information; A second semantic information acquisition module, used to acquire second semantic information of the remote vehicle control instruction; A second judgment module, configured to control the vehicle to stop responding to the remote vehicle control instruction when the first semantic information and the second semantic information are inconsistent; Otherwise, the signature verification result acquisition module is called.

16. The device according to any one of claims 10 to 12, wherein the vehicle and the user end are connected by near field communication, and the preset vehicle control instruction flow is a security token application request sent by the user end to a set participating end in the vehicle control link; The target signature information generation module is used to generate a target security token based on the security token application request in the setting participant terminal, sign the target security token with a corresponding private key to obtain the intermediate signature information, and send the target security token and the intermediate signature information to the next participant terminal in the vehicle control link; Until it is sent to the user end, the intermediate signature information input by the previous participating end is aggregated and signed based on the target security token using the corresponding private key, and the second signature result obtained by the user end is used as the target signature information; The device also includes: An information sending module is used to send the remote vehicle control instruction and the target signature information to the vehicle based on the user terminal.

17. The device according to claim 10, wherein the other participating terminals in the vehicle control link include a remote vehicle control service terminal; or The other participating terminals in the vehicle control link include a remote vehicle control server and one or more third-party cloud servers; in, When the preset vehicle control instruction flow is the remote vehicle control instruction initiated by the user terminal, the preset execution order is the user terminal, the remote vehicle control server terminal and the third-party cloud server terminal; When the preset vehicle control instruction flow is a security token application request sent by the user end to a set participating end in the vehicle control link, the preset execution order is the user end, the remote vehicle control service end, the third-party cloud service end, and the user end.

18. The apparatus of claim 17, further comprising: A wake-up control module, used for waking up the T-BOX of the vehicle in a preset wake-up mode through the remote vehicle control service end when the T-BOX of the vehicle is in a dormant state so as to enter a normal working state; The sleep state control module is used to control the T-BOX of the vehicle to enter a sleep state after the vehicle completes executing the remote vehicle control command for a preset time period.

19. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 9.

20. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-9.

21. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • An efficient aggregation signature method

    CN109714153A

  • Method, system and device for remotely controlling vehicle

    CN109819049A