Upgrade method and apparatus
Patent Information
- Application Number
- JP2022538331
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-23
- Filing Date
- 2020-10-15
- Publication Date
- 2025-03-05
- Estimated Expiration
- 2040-10-15
AI Technical Summary
については、対応する方法における有益な効果を参照されたい。ここでは詳細を説明しない。
Smart Images

Figure 0007640170000001 
Figure 0007640170000002 
Figure 0007640170000003
Abstract
Description
[Technical field]
[0001] The present application relates to the field of Internet of Vehicles technology, and in particular to an upgrade method and apparatus. [Background technology]
[0002] Over the air (OTA) is a technology for downloading data through wireless networks, and is currently widely used in software upgrades for devices such as smart TVs, mobile phones, tablet computers, or set-top boxes. As intelligent connected vehicles develop, OTA is also gradually applied to software upgrades for intelligent connected vehicles. Original equipment manufacturers (OEMs) upgrade the relevant software or firmware of intelligent connected vehicles through OTA. As a result, the number of vehicle recalls can be reduced, the operating costs of manufacturers can be reduced, and user requests can be responded to quickly. As a result, the user experience is improved.
[0003] An intelligent connected vehicle includes multiple devices, such as a telematics box (T-Box), a gateway, and an electronic control unit (ECU). When multiple devices in an intelligent connected vehicle need to be upgraded, a cloud (or a server) sends upgrade packages of the multiple devices to a T-Box or a gateway. The T-Box or gateway receives and verifies the upgrade packages of the multiple devices, and sends the upgrade packages of each device to the corresponding device after the verification is successful. If the upgrade packages of the multiple devices are relatively large, the T-Box or gateway not only consumes a relatively long time to download the upgrade packages of the multiple devices, but also consumes a relatively large storage space to store the upgrade packages of the multiple devices. This increases the load and storage requirements of the T-Box or gateway. Summary of the Invention
[0004] The embodiments of the present application provide an upgrade method and apparatus, so that when multiple devices in an intelligent connected vehicle need to be upgraded, the upgrade efficiency and download speed can be improved, and the load and storage requirements of the telematics box or gateway can be reduced.
[0005] In order to achieve the above objectives, the following technical solutions are used in the embodiments of this application.
[0006] According to a first aspect, an embodiment of the present application provides an upgrade method, the method including: receiving upgrade information of the first ECU from a telematics box or a gateway, establishing a first channel with a server based on the upgrade information of the first ECU, receiving an upgrade package of the first ECU from the server through the first channel, and performing an upgrade based on the upgrade package of the first ECU.
[0007] According to the technical solution provided in the first aspect, when the first ECU needs to be upgraded, the first ECU may receive upgrade information of the first ECU from a telematics box or a gateway, establish a first channel with a server based on the upgrade information of the first ECU, receive an upgrade package of the first ECU from the server through the first channel, and perform an upgrade based on the upgrade package of the first ECU. In this way, the upgrade package of the first ECU does not need to be downloaded by the telematics box or the gateway. This can improve the upgrade efficiency and download speed, and reduce the load and storage requirements of the telematics box or the gateway.
[0008] In a first possible implementation, the first channel is a transport layer security channel, a hypertext transfer protocol secure channel, or a datagram transport layer security secure channel. Based on the above method, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the transport layer security channel, the hypertext transfer protocol secure channel, or the datagram transport layer security secure channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0009] In a possible implementation, the step of establishing a first channel with a server based on the upgrade information of the first ECU includes a step of sending first request information to the server, where the first request information is used to request establishing the first channel with the server; a step of receiving first request response information from the server, where the first request response information is used to determine an encryption scheme for the server and the first ECU; a step of sending first completion information to the server, where the first completion information is used to indicate that establishment of the first channel between the first ECU and the server is completed; and a step of receiving first completion response information from the server, where the first completion response information is used to indicate that establishment of the first channel between the first ECU and the server is completed. Based on the aforementioned method, the first ECU may send first request information to the server, receive first request response information from the server, send first completion information to the server, and receive first completion response information from the server to establish a first channel. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or the gateway, but downloads the upgrade package of the first ECU from the server through the first channel.
[0010] In a possible implementation, the upgrade information of the first ECU includes a download address of the upgrade package of the first ECU. Based on the above method, the upgrade information of the first ECU includes a download address of the upgrade package of the first ECU. In this way, the first ECU can establish a first channel with the server based on the download address of the upgrade package of the first ECU. Therefore, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the first channel.
[0011] In a possible implementation, the upgrade information of the first ECU includes indication information. The indication information is used to instruct the first ECU to upgrade. Based on the above method, the upgrade information of the first ECU includes indication information. In this way, the first ECU may establish a first channel with the server based on the indication information. Therefore, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the first channel.
[0012] In a possible implementation, performing an upgrade based on the upgrade package of the first ECU includes performing an upgrade based on the upgrade package of the first ECU after a signature of the upgrade package of the first ECU is successfully verified. Based on the above method, after a signature of the upgrade package of the first ECU is successfully verified, the first ECU may perform an upgrade based on the upgrade package of the first ECU to ensure that the upgrade package of the first ECU is not tampered with.
[0013] According to a second aspect, an embodiment of the present application provides an upgrade method, the method including: receiving upgrade information of a plurality of devices from a server, the upgrade information of the plurality of devices including upgrade information of a first electronic control unit ECU, the upgrade information of the first ECU being used to instruct the first ECU to establish a first channel with the server; and transmitting the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU.
[0014] According to the technical solution provided in the second aspect, the telematics box or gateway may receive upgrade information of multiple devices from the server, and send the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU. As a result, the first ECU establishes a first channel with the server based on the upgrade information of the first ECU. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the first channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0015] In a possible implementation, the first channel is a transport layer security channel, a hypertext transfer protocol secure channel, or a datagram transport layer security secure channel. Based on the above solution, the telematics box or gateway can send the upgrade information of the first ECU to the first ECU. As a result, the first ECU establishes a transport layer security channel, a hypertext transfer protocol secure channel, or a datagram transport layer security secure channel with the server based on the upgrade information of the first ECU. Therefore, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the transport layer security channel, the hypertext transfer protocol secure channel, or the datagram transport layer security secure channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0016] In a possible implementation, the upgrade information of the first ECU includes a download address of the upgrade package of the first ECU. Based on the above solution, the telematics box or gateway may send the download address of the upgrade package of the first ECU to the first ECU. As a result, the first ECU establishes a first channel with the server based on the download address of the upgrade package of the first ECU. Therefore, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the first channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0017] In a possible implementation, the upgrade information of the first ECU includes indication information. The indication information is used to instruct the first ECU to upgrade. Based on the above solution, the telematics box or gateway may send the indication information to the first ECU. As a result, the first ECU establishes a first channel with the server based on the indication information. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the first channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0018] In a possible implementation, the upgrade information of the multiple devices further includes an upgrade package of the second ECU, and the method further includes a step of sending the upgrade package of the second ECU to the second ECU. Based on the above method, the upgrade information of the multiple devices further includes the upgrade package of the second ECU. In this way, the telematics box or gateway may further send the upgrade package of the second ECU to the second ECU. As a result, the second ECU performs an upgrade based on the upgrade package of the second ECU.
[0019] According to a third aspect, an embodiment of the present application provides an upgrade method, the method including: transmitting upgrade information of a plurality of devices to a telematics box or gateway, the upgrade information of the plurality of devices including upgrade information of a first electronic control unit ECU; establishing a first channel with the first ECU based on the upgrade information of the first ECU; and transmitting an upgrade package of the first ECU to the first ECU through the first channel.
[0020] According to the technical solution provided in the third aspect, the server may send the upgrade information of the first ECU to the telematics box or gateway, establish a first channel with the first ECU based on the upgrade information of the first ECU, and send the upgrade package of the first ECU to the first ECU through the first channel. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the first channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0021] In a possible implementation, the first channel is a transport layer security channel, a hypertext transfer protocol secure channel, or a datagram transport layer security secure channel. Based on the above method, the server may establish a transport layer security channel, a hypertext transfer protocol secure channel, or a datagram transport layer security secure channel with the first ECU based on the upgrade information of the first ECU. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through the transport layer security channel, the hypertext transfer protocol secure channel, or the datagram transport layer security secure channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0022] In a possible implementation, the step of establishing the first channel with the first ECU based on the upgrade information of the first ECU includes a step of receiving first request information from the first ECU, the first request information being used to request establishing the first channel with the server; a step of transmitting first request response information to the first ECU based on the first request information, the first request response information being used to determine an encryption scheme for the server and the first ECU; a step of receiving first completion information from the first ECU, the first completion information being used to indicate that establishment of the first channel between the first ECU and the server is completed; and a step of transmitting first completion response information to the first ECU based on the first completion information, the first completion response information being used to indicate that establishment of the first channel between the first ECU and the server is completed. Based on the above method, the server may receive first request information from the first ECU, send first request response information to the first ECU based on the first request information, receive first completion information from the first ECU, and send first completion response information to the first ECU based on the first completion information to establish a first channel. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through a transport layer security channel, a hypertext transfer protocol secure secure channel, or a datagram transport layer security secure channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0023] In a possible implementation, the upgrade information of the first ECU includes a download address of the upgrade package of the first ECU. Based on the above method, the server may establish a first channel with the first ECU based on the download address of the upgrade package of the first ECU. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through a transport layer security channel, a hypertext transfer protocol secure secure channel, or a datagram transport layer security secure channel. This improves the upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0024] In a possible implementation, the upgrade information of the first ECU includes indication information. The indication information is used to instruct the first ECU to upgrade. Based on the above method, the server may establish a first channel with the first ECU based on the indication information. Thus, the first ECU does not need to download the upgrade package of the first ECU through the telematics box or gateway, but downloads the upgrade package of the first ECU from the server through a transport layer security channel, a hypertext transfer protocol secure channel, or a datagram transport layer security secure channel. This improves upgrade efficiency and download speed, and reduces the load and storage requirements of the telematics box or gateway.
[0025] In a possible implementation, the method further includes signing the upgrade package of the first ECU. Based on the above method, the server can sign the upgrade package of the first ECU. As a result, after receiving the upgrade package of the first ECU, the first ECU can verify whether the upgrade package of the first ECU has been tampered with. This ensures the upgrade security of the first ECU.
[0026] In a possible implementation, the upgrade information of the devices further includes an upgrade package of the second ECU. Based on the above method, the server can further send the upgrade package of the second ECU to a telematics box or a gateway. As a result, the telematics box or the gateway assists in upgrading the second ECU.
[0027] According to a fourth aspect, an embodiment of the present application provides a communication device, the communication device having a function for implementing the method in the first aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the function.
[0028] According to a fifth aspect, an embodiment of the present application provides a communication device, the communication device having a function for implementing the method in the second aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the function.
[0029] According to a sixth aspect, an embodiment of the present application provides a communication device, the communication device having a function for implementing the method according to the third aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the function.
[0030] According to a seventh aspect, an embodiment of the present application provides a communication device including at least one processor, at least one memory, and a communication interface. The communication interface, the at least one memory, and the at least one processor are coupled. The communication device communicates with another device through the communication interface. The at least one memory is configured to store a computer program, such that, when the computer program is executed by the at least one processor, the upgrade method in the first aspect and possible implementations of the first aspect are implemented.
[0031] According to an eighth aspect, an embodiment of the present application provides a communication device including at least one processor, at least one memory, and a communication interface. The communication interface, the at least one memory, and the at least one processor are coupled. The communication device communicates with another device through the communication interface. The at least one memory is configured to store a computer program, such that, when the computer program is executed by the at least one processor, the upgrade method in the second aspect and possible implementations of the second aspect are implemented.
[0032] According to a ninth aspect, an embodiment of the present application provides a communication device including at least one processor, at least one memory, and a communication interface. The communication interface, the at least one memory, and the at least one processor are coupled. The communication device communicates with another device through the communication interface. The at least one memory is configured to store a computer program, such that, when the computer program is executed by the at least one processor, the upgrade method in the third aspect and possible implementations of the third aspect are implemented.
[0033] According to a tenth aspect, the present application provides a system chip. The system chip may be used in a communication device. The system chip includes at least one processor. Related program instructions are executed by the at least one processor to implement a function of the first ECU in the method in any one of the first aspect and the design of the first aspect. Optionally, the system chip may further include at least one memory. The memory stores the related program instructions.
[0034] According to an eleventh aspect, the present application provides a system chip. The system chip can be used in a communication device. The system chip includes at least one processor. Related program instructions are executed by the at least one processor to implement the functions of the telematics box or gateway in the method in any one of the designs of the second aspect and the second aspect. Optionally, the system chip can further include at least one memory. The memory stores the related program instructions.
[0035] According to a twelfth aspect, the present application provides a system chip. The system chip can be used in a communication device. The system chip includes at least one processor. Related program instructions are executed by the at least one processor to implement the functions of the server in the method in any one of the designs of the third aspect and the third aspect. Optionally, the system chip can further include at least one memory. The memory stores the related program instructions.
[0036] According to a thirteenth aspect, an embodiment of the present application provides a computer-readable storage medium, for example a non-transitory computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed on a computer, the computer is enabled to execute any executable method in the first aspect. For example, the computer may be at least one storage node.
[0037] According to a fourteenth aspect, an embodiment of the present application provides a computer-readable storage medium, for example a non-transitory computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed on a computer, the computer is enabled to execute any executable method in the second aspect. For example, the computer may be at least one storage node.
[0038] According to a fifteenth aspect, an embodiment of the present application provides a computer-readable storage medium, for example a non-transitory computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed on a computer, the computer is enabled to execute any executable method in the third aspect. For example, the computer may be at least one storage node.
[0039] According to a sixteenth aspect, an embodiment of the present application provides a computer program product. When the computer program product is executed on a computer, it is possible to execute any method provided in the first aspect. For example, the computer may be at least one storage node.
[0040] According to a seventeenth aspect, an embodiment of the present application provides a computer program product. When the computer program product is executed on a computer, it is possible to execute any method provided in the second aspect. For example, the computer may be at least one storage node.
[0041] According to an eighteenth aspect, an embodiment of the present application provides a computer program product. When the computer program product is executed on a computer, it is possible to execute any method provided in the third aspect. For example, the computer may be at least one storage node.
[0042] According to a nineteenth aspect, an embodiment of the present application provides an upgrade system, which may include any one or more of the communication device according to the fourth aspect, the communication device according to the fifth aspect, the communication device according to the sixth aspect, the communication device according to the seventh aspect, the communication device according to the eighth aspect, the communication device according to the ninth aspect, the system chip according to the tenth aspect, the system chip according to the eleventh aspect, the system chip according to the twelfth aspect, the computer readable storage medium according to the thirteenth aspect, the computer readable storage medium according to the fourteenth aspect, the computer readable storage medium according to the fifteenth aspect, the computer program product according to the sixteenth aspect, the computer program product according to the seventeenth aspect, or the computer program product according to the eighteenth aspect.
[0043] It can be understood that any communication device, system chip, computer readable storage medium, computer program product or upgrade system, etc. provided above are configured to execute the corresponding method provided above. Therefore, for the beneficial effects that can be realized, please refer to the beneficial effects in the corresponding method. Details will not be described here.
[0044] According to a twentieth aspect, an embodiment of the present application provides an upgrade method, the method being applied to a first device, the method including: receiving upgrade information of the first device from an OTA node, establishing a first channel with a server based on the upgrade information of the first device, receiving an upgrade package of the first device from the server through the first channel, and performing an upgrade of the first device based on the upgrade package.
[0045] In a possible implementation, the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure secure channel or a Datagram Transport Layer Security secure channel.
[0046] In a possible implementation, the step of establishing a first channel with a server based on the upgrade information of the first device includes a step of sending first request information to the server, where the first request information is used to request establishing the first channel with the server; a step of receiving first request response information from the server, where the first request response information is used to determine an encryption scheme for the server and the first device; a step of sending first completion information to the server, where the first completion information is used to indicate that establishment of the first channel between the first device and the server is completed; and a step of receiving first completion response information from the server, where the first completion response information is used to indicate that establishment of the first channel between the first device and the server is completed.
[0047] In a possible implementation, the upgrade information of the first device includes a download address of the upgrade package of the first device.
[0048] In a possible implementation, the upgrade information of the first device includes indication information, which is used to instruct the first device to upgrade.
[0049] In a possible implementation, the step of performing an upgrade based on the upgrade package of the first device includes a step of performing an upgrade based on the upgrade package of the first device after successful verification of the signature of the upgrade package of the first device.
[0050] In a possible implementation, the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box.
[0051] In a possible implementation, an OTA node is deployed on the first device or an OTA node is not deployed on the first device.
[0052] According to a twenty-first aspect, an embodiment of the present application provides an upgrade method, the method being applied to a wireless OTA node, the method including: receiving upgrade information of a plurality of devices from a server, the upgrade information of the plurality of devices including upgrade information of a first device, the upgrade information of the first device being used to instruct the first device to establish a first channel with the server; and transmitting the upgrade information of the first device to the first device based on the upgrade information of the first device.
[0053] In a possible implementation, the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure secure channel or a Datagram Transport Layer Security secure channel.
[0054] In a possible implementation, the upgrade information of the first device includes a download address of an upgrade package of the first device.
[0055] In a possible implementation, the upgrade information of the first device includes indication information, which is used to instruct the first device to upgrade.
[0056] In a possible implementation, the upgrade information of the plurality of devices further includes an upgrade package of a second device, and the method further includes a step of transmitting the upgrade package of the second device to the second device.
[0057] In a possible implementation, the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box.
[0058] In a possible implementation, the second device is different from the first device, the second device being an electronic control unit ECU, a gateway, a domain controller or a telematics box.
[0059] In a possible implementation, an OTA node is deployed on the first device or an OTA node is not deployed on the first device.
[0060] In possible implementations, the OTA node is deployed on the second device or the OTA node is not deployed on the second device.
[0061] According to a twenty-second aspect, an embodiment of the present application provides an upgrade method, the method being applied to a server, the method including: transmitting upgrade information of a plurality of devices to an OTA node, the upgrade information of the plurality of devices including upgrade information of a first device; establishing a first channel with the first device based on the upgrade information of the first device; and transmitting an upgrade package of the first device to the first device through the first channel.
[0062] In a possible implementation, the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure secure channel or a Datagram Transport Layer Security secure channel.
[0063] In a possible implementation, the step of establishing the first channel with the first device based on the upgrade information of the first device includes a step of receiving first request information from the first device, the first request information being used to request establishing the first channel with the server; a step of transmitting first request response information to the first device based on the first request information, the first request response information being used to determine an encryption scheme for the server and the first device; a step of receiving first completion information from the first device, the first completion information being used to indicate that establishment of the first channel between the first device and the server is completed; and a step of transmitting first completion response information to the first device based on the first completion information, the first completion response information being used to indicate that establishment of the first channel between the first device and the server is completed.
[0064] In a possible implementation, the upgrade information of the first device includes a download address of the upgrade package of the first device.
[0065] In a possible implementation, the upgrade information of the first device includes indication information, which is used to instruct the first device to upgrade.
[0066] In a possible implementation, the method further includes signing the upgrade package of the first device.
[0067] In a possible implementation, the upgrade information for the multiple devices further includes an upgrade package for the second device.
[0068] In a possible implementation, the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box.
[0069] In a possible implementation, the second device is different from the first device, the second device being an electronic control unit ECU, a gateway, a domain controller or a telematics box.
[0070] In a possible implementation, an OTA node is deployed on the first device or an OTA node is not deployed on the first device.
[0071] In possible implementations, the OTA node is deployed on the second device or the OTA node is not deployed on the second device.
[0072] According to a twenty-third aspect, an embodiment of the present application provides a communication device, the communication device having a function for implementing the method according to the twentieth aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the function.
[0073] According to a twenty-fourth aspect, an embodiment of the present application provides a communication device, the communication device having a function for implementing the method according to the twenty-first aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the function.
[0074] According to a twenty-fifth aspect, an embodiment of the present application provides a communication device, the communication device having a function for implementing the method according to the twenty-second aspect. The function may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the function.
[0075] According to a twenty-sixth aspect, an embodiment of the present application provides a communication device including at least one processor, at least one memory, and a communication interface. The communication interface, the at least one memory, and the at least one processor are coupled. The communication device communicates with another device through the communication interface. The at least one memory is configured to store a computer program. As a result, when the computer program is executed by the at least one processor, the upgrade method in the twentieth aspect and possible implementations of the twentieth aspect are implemented.
[0076] According to a twenty-seventh aspect, an embodiment of the present application provides a communication device including at least one processor, at least one memory, and a communication interface. The communication interface, the at least one memory, and the at least one processor are coupled. The communication device communicates with another device through the communication interface. The at least one memory is configured to store a computer program. As a result, when the computer program is executed by the at least one processor, the upgrade method in the twenty-first aspect and possible implementations of the twenty-first aspect are implemented.
[0077] According to a twenty-eighth aspect, an embodiment of the present application provides a communication device including at least one processor, at least one memory, and a communication interface. The communication interface, the at least one memory, and the at least one processor are coupled. The communication device communicates with another device through the communication interface. The at least one memory is configured to store a computer program. As a result, when the computer program is executed by the at least one processor, the upgrade method in the twenty-second aspect and possible implementations of the twenty-second aspect are implemented.
[0078] According to a twenty-ninth aspect, the present application provides a system chip. The system chip may be used in a communication device. The system chip includes at least one processor. Associated program instructions are executed by the at least one processor to implement a function of the first ECU in the method in any one of the designs of the twentieth aspect and the twentieth aspect. Optionally, the system chip may further include at least one memory. The memory stores the associated program instructions.
[0079] According to a 30th aspect, the present application provides a system chip. The system chip can be used in a communication device. The system chip includes at least one processor. Related program instructions are executed by the at least one processor to implement the functionality of the telematics box or gateway in the method in any one of the designs of the 21st aspect and the 21st aspect. Optionally, the system chip can further include at least one memory. The memory stores the related program instructions.
[0080] According to a thirty-first aspect, the present application provides a system chip. The system chip can be used in a communication device. The system chip includes at least one processor. Related program instructions are executed by the at least one processor to implement the functions of the server in the method in any one of the designs of the twenty-second aspect and the twenty-second aspect. Optionally, the system chip can further include at least one memory. The memory stores the related program instructions.
[0081] According to a thirty-second aspect, an embodiment of the present application provides a computer-readable storage medium, for example a non-transitory computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed on a computer, the computer is enabled to execute any executable method in the twentieth aspect. For example, the computer may be at least one storage node.
[0082] According to a thirty-third aspect, an embodiment of the present application provides a computer-readable storage medium, for example a non-transitory computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed on a computer, the computer is enabled to execute any executable method in the twenty-first aspect. For example, the computer may be at least one storage node.
[0083] According to a thirty-fourth aspect, an embodiment of the present application provides a computer-readable storage medium, for example a non-transitory computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed on a computer, the computer is enabled to execute any executable method in the twenty-second aspect. For example, the computer may be at least one storage node.
[0084] According to a thirty-fifth aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, is capable of performing any of the methods provided in the twentieth aspect. For example, the computer may be at least one storage node.
[0085] According to a thirty-sixth aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, is capable of executing any of the methods provided in the twenty-first aspect. For example, the computer may be at least one storage node.
[0086] According to a thirty-seventh aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, is capable of performing any of the methods provided in the twenty-second aspect. For example, the computer may be at least one storage node.
[0087] According to a thirty-eighth aspect, an embodiment of the present application provides an upgrade system, which may include any one or more of the communication device according to the twenty-third aspect, the communication device according to the twenty-fourth aspect, the communication device according to the twenty-fifth aspect, the communication device according to the twenty-sixth aspect, the communication device according to the twenty-seventh aspect, the communication device according to the twenty-eighth aspect, the system chip according to the twenty-ninth aspect, the system chip according to the thirtieth aspect, the system chip according to the thirty-first aspect, the computer readable storage medium according to the thirty-second aspect, the computer readable storage medium according to the thirty-third aspect, the computer readable storage medium according to the thirty-fourth aspect, the computer program product according to the thirty-fifth aspect, the computer program product according to the thirty-sixth aspect, or the computer program product according to the thirty-seventh aspect.
[0088] It can be understood that any communication device, system chip, computer readable storage medium, computer program product or upgrade system, etc. provided above are configured to execute the corresponding method provided above. Therefore, for the beneficial effects that can be realized, please refer to the beneficial effects in the corresponding method. Details will not be described here. [Brief description of the drawings]
[0089] [Figure 1A] FIG. 1 is a schematic diagram of an architecture of an upgrade system according to an embodiment of the present application.
[0090] [Figure 1B] FIG. 1 is a schematic diagram of a vehicle architecture according to an embodiment of the present application.
[0091] [Diagram 2] 1 is a schematic diagram of a hardware structure of a communication device according to an embodiment of the present application;
[0092] [Diagram 3]1 is a schematic flowchart 1 of an upgrade method according to an embodiment of the present application;
[0093] [Figure 4] 2 is a schematic flowchart 2 of an upgrade method according to an embodiment of the present application;
[0094] [Diagram 5] 3 is a schematic flowchart 3 of an upgrade method according to an embodiment of the present application.
[0095] [Figure 6] 4 is a schematic flowchart 4 of an upgrade method according to an embodiment of the present application.
[0096] [Figure 7] FIG. 1 is a schematic diagram of the structure of a communication device according to an embodiment of the present application.
[0097] [Figure 8] FIG. 2 is a schematic diagram of the structure of a communication device according to an embodiment of the present application.
[0098] [Figure 9] 3 is a schematic diagram of the structure of a communication device according to an embodiment of the present application;
[0099] [Figure 10] FIG. 1 is a schematic diagram of a configuration of an upgrade system according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0100] Hereinafter, implementations of the embodiments of the present application will be described in detail with reference to the accompanying drawings.
[0101] 1A is a schematic diagram of an architecture of an upgrade system according to an embodiment of the present application. In FIG. 1A, the upgrade system may include a vehicle 10 and a server 20 (or a cloud 30).
[0102] In Fig. 1A, the vehicle 10 may be an intelligent connected vehicle. The vehicle 10 may include multiple devices. For example, the vehicle 10 may include multiple devices such as a T-Box, a gateway, and an ECU. Specifically, the architecture of the vehicle 10 may be shown in Fig. 1B.
[0103] 1B is a schematic diagram of an architecture of a vehicle 10 according to an embodiment of the present application. As shown in FIG. 1B, the vehicle 10 may include a T-Box 101, a gateway 102, and ECUs 103 to 107.
[0104] The T-Box 101 and the gateway 102 may be connected by using Ethernet. The gateway 102 and the ECUs may be connected through Ethernet, a controller area network (CAN), a local interconnect network (LIN), a media oriented system transport (MOST), or FlexRay. For example, the gateway 102 may be connected to the ECU 103 through CAN, and the gateway 102 may be connected to the ECU 105 through LIN.
[0105] In Fig. 1B, the T-Box 101 may have the ability to communicate with external devices in the vehicle 10 and internal devices in the vehicle 10. The external devices in the vehicle 10 may be described as devices outside the vehicle 10, such as the server 20 or the cloud 30 in Fig. 1A, or a user's terminal device (not shown in Fig. 1A). The internal devices in the vehicle 10 may be devices shown in Fig. 1B, such as the gateway 102 or the ECU 103.
[0106] 1B , the T-Box 101 may be configured to communicate with internal devices in the vehicle 10 and send information to the internal devices in the vehicle 10. For example, the T-Box 101 sends upgrade information of multiple devices to the gateway 102. The T-Box 101 may be configured to communicate with external devices in the vehicle 10 and receive information from the server 20 or the cloud 30. For example, the T-Box 101 may be configured to receive upgrade information of multiple devices from the server 20 or the cloud 30.
[0107] In some embodiments, the T-Box 101 may further have the ability to coordinate the upgrade of internal devices in the vehicle 10. For example, the upgrade information of the multiple devices includes the upgrade information of the ECU 103 and the upgrade information of the ECU 105. The T-Box 101 may receive the upgrade information of the multiple devices from the server 20 and verify the upgrade information of the multiple devices. After the verification is successful, the T-Box 101 sends the upgrade information of the ECU 103 to the ECU 103 through the gateway 102, and sends the upgrade information of the ECU 105 to the ECU 105 through the gateway 102.
[0108] 1B, the gateway 102 is a core component of the vehicle 10, and the gateway 102 can route network data, such as CAN, LIN, MOST, or FlexRay, in different networks. For example, the gateway 102 can receive upgrade information of the ECU 103 from the T-Box 101 and send the upgrade information of the ECU 103 to the ECU 103.
[0109] In some embodiments, the gateway 102 may further have the ability to coordinate the upgrade of internal devices in the vehicle 10. For example, the upgrade information of the multiple devices includes the upgrade information of the ECU 106 and the upgrade information of the ECU 105. The gateway 102 may receive the upgrade information of the multiple devices from the T-Box 101 and verify the upgrade information of the multiple devices. After the verification is successful, the gateway 102 sends the upgrade information of the ECU 106 to the ECU 106 and sends the upgrade information of the ECU 105 to the ECU 105.
[0110] 1B, the ECU may be a microcomputer controller of the vehicle 10 and may have the ability to execute a preset control function. For example, the ECU 104 may be configured to control an engine for running, and the ECU 103 may be configured to protect the security of the vehicle.
[0111] In some embodiments, the ECUs in FIG. 1B may alternatively be autonomous driving related devices. For example, ECU 105 may be a mobile data center (MDC) and ECU 107 may be a human-machine interaction (HMI) device. The MDC may be an intelligent on-board computing platform of vehicle 10. The HMI may be an information and entertainment system of vehicle 10.
[0112] In some embodiments, the OTA node may be deployed in a device in the vehicle 10 (e.g., T-Box 101, gateway 102, or ECU 103 to ECU 107). The OTA node may also be referred to as an OTA master or an OTA manager. The device in which the OTA node is deployed may have the ability to coordinate the upgrade of internal devices in the vehicle 10. For example, the OTA node is deployed in the ECU 103, and the upgrade information of the multiple devices includes the upgrade information of the ECU 106 and the upgrade information of the ECU 105. The ECU 103 may receive the upgrade information of the multiple devices from the server 20 (the ECU 103 may directly receive the upgrade information of the multiple devices from the server 20, or may receive the upgrade information of the multiple devices from the server 20 through the T-Box 101), and verify the upgrade information of the multiple devices. After the verification is successful, the ECU 103 sends the upgrade information of the ECU 106 to the ECU 106, and sends the upgrade information of the ECU 105 to the ECU 105.
[0113] It may be understood that the OTA node may alternatively be deployed in a domain controller (not shown in FIG. 1B ) or a vehicle integration unit (VIU). The domain controller may classify devices in a vehicle into multiple domains according to functions and manage each domain. Multiple VIUs may form a ring network (specifically, may be embodied as a high-definition camera or a high-definition display, etc.) to achieve high bandwidth, low latency and high reliability processing capabilities. In addition, the ring network may further simplify the configuration of the in-vehicle network and improve the efficiency of upgrades and maintenance.
[0114] It may be understood that the OTA node may alternatively be deployed independently in the vehicle 10. In other words, the OTA node may be deployed independently in the vehicle 10 from devices such as the T-Box 101, the gateway 102, and the ECU 103 to the ECU 107, and may communicate with devices such as the T-Box 101, the gateway 102, and the ECU 103 to the ECU 107.
[0115] It can be understood that when the OTA node is deployed in a device in a vehicle, the execution subject on the vehicle side in the embodiment of the present application is the device, or when the OTA node is independently deployed in a vehicle, the execution subject on the vehicle side in the embodiment of the present application is the OTA node. The following embodiments of the present application are described by using an example in which the OTA node is deployed in a T-Box or a gateway, the first device is a first ECU, and the second device is a second ECU. The OTA node is independently deployed or deployed in a device other than the T-Box or the gateway. For details, please refer to the case in which the OTA node is deployed in a T-Box or a gateway.
[0116] It should be understood that the architecture of the vehicle 10 shown in Fig. 1B is used as an example only, and is not intended to limit the technical solution of the present application. Those skilled in the art should understand that in a specific implementation process, the vehicle 10 may further include other devices, such as an on-board diagnostics (OBD) system or a domain controller. In addition, the number of gateways, domain controllers and ECUs may also be determined based on specific requirements.
[0117] 1A may have the ability to detect upgrade information of a device in the vehicle 10 and instruct the device in the vehicle 10 to upgrade. For example, if the server 20 detects upgrade information of multiple devices in the vehicle 10, the server 20 may transmit the upgrade information of the multiple devices to the vehicle 10.
[0118] 1A may further have the capability of providing services to devices within the vehicle 10. For example, if the ECU 106 is used for navigation, the server 20 or cloud 30 may provide guidance services to the ECU 106.
[0119] It should be understood that the upgrade system shown in Fig. 1A is used only as an example, and is not intended to limit the technical solution of the present application. Those skilled in the art should understand that in a specific implementation process, the upgrade system may further include another device, and the number of the vehicle 10, the server 20, or the cloud 30 may also be determined based on specific requirements. This is not limited.
[0120] Optionally, each device in Fig. 1B in the embodiment of the present application, such as the server 20, the cloud 30, the T-Box 101, the gateway 102 or the ECU 106, may be a function module in a device. It may be understood that a function module may be an element in a hardware device, a software function running on dedicated hardware, or a virtualization function instantiated on a platform (e.g., a cloud platform).
[0121] For example, each device in Fig. 1B may be implemented using a hardware device 200 in Fig. 2. Fig. 2 is a schematic diagram of a hardware structure of a hardware device applicable to an embodiment of the present application. The hardware device 200 may include at least one processor 201, a communication line 202, a memory 203, and at least one communication interface 204.
[0122] The processor 201 may be a general purpose CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to control program execution of the present solution.
[0123] The communication lines 202 may include paths, such as buses, for transmitting information between the aforementioned components.
[0124] The communication interface 204 is configured to communicate with another device or a communication network by using any device, such as a transceiver, for example an Ethernet interface, a radio access network (RAN) interface, or a wireless local area network (WLAN) interface.
[0125] The memory 203 may be a read-only memory (ROM) or another type of static storage device capable of storing static information and instructions, or a random access memory (RAM) or another type of dynamic storage device capable of storing information and instructions. Alternatively, the memory 203 may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or another optical disk storage, an optical disk storage (including a compact optical disk, a laser disk, an optical disk, a digital versatile disk, or a Blu-ray disk, etc.), a magnetic disk storage medium or another magnetic storage device, or any other medium that can be configured to hold or store expected program code in the form of instructions or data structures and that can be accessed by a computer. However, this is not limited herein. The memory may exist independently and be connected to the processor through the communication line 202. Alternatively, the memory may be integrated with the processor. The memory provided in the embodiments of the present application may typically be non-volatile. The memory 203 is configured to store computer-executable instructions for executing the solutions in the present application, and the execution is controlled by the processor 201. The processor 201 is configured to execute the computer-executable instructions stored in the memory 203 to implement the methods provided in the embodiments of the present application.
[0126] Optionally, the computer-executable instructions in the embodiments of the present application may also be referred to as application program code, which is not specifically limited in the embodiments of the present application.
[0127] In a particular implementation, in one embodiment, the processor 201 may include one or more CPUs, for example, CPU0 and CPU1 in FIG.
[0128] In a particular implementation, in one embodiment, hardware device 200 may include multiple processors, such as processor 201 and processor 207 in FIG. 2. Each of the processors may be a single-core (single-CPU) processor or a multi-core (multiple-CPU) processor. As used herein, a processor may be one or more devices, circuits, and / or processing cores configured to process data (e.g., computer program instructions).
[0129] In a particular implementation, in one embodiment, the hardware device 200 may further include an output device 205 and an input device 206. The output device 205 may communicate with the processor 201 and display information in multiple ways. For example, the output device 205 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 206 may communicate with the processor 201 and receive user input in multiple ways. For example, the input device 206 may be a mouse, a keyboard, a touch screen device, or a sensing device.
[0130] In a particular implementation, the hardware device 200 may be an embedded device or a device having a structure similar to that in Fig. 2. The type of the hardware device 200 is not limited in the embodiments of the present application.
[0131] With reference to FIG. 1A, FIG. 1B and FIG. 2, the upgrade method in the embodiment of the present application is specifically described below.
[0132] It should be noted that the upgrade method provided in the embodiments of the present application can be applied to multiple fields, such as the unmanned driving field, the autonomous driving field, the assisted driving field, the smart driving field, the Internet of Vehicles field, the smart Internet of Vehicles field, and the vehicle sharing field.
[0133] It should be noted that the names of messages between network elements or the names of parameters in messages in the following embodiments of the present application are merely examples, and other names may exist in a specific implementation, which are not specifically limited in the embodiments of the present application.
[0134] It should be noted that in the description of this application, terms such as "first" or "second" are used for distinction and explanation only, and are not to be understood as indicating or suggesting relative importance or indicating or suggesting order. Differently numbered ECUs, such as "first ECU" in this application, are used for convenience of context only, and different sequential numbers do not have any specific technical meaning. For example, the first ECU and the second ECU can be understood as one or any one of a series of ECUs.
[0135] In the embodiments of the present application, a server, a cloud, a T-Box, a gateway, or an ECU may perform some or all of the steps in the embodiments of the present application, and it can be understood that these steps are merely examples. In the embodiments of the present application, other steps or variations of various steps may be further performed. In addition, these steps may be performed in a different order than the order presented in the embodiments of the present application, and all steps in the embodiments of the present application need not be performed.
[0136] 3 shows an upgrade method according to an embodiment of the present application. The upgrade method includes steps 301 to 305.
[0137] Step 301: The server sends upgrade information of multiple devices to the T-Box / Gateway.
[0138] The server may be the server 20 in Fig. 1A, and the T-Box may be a T-Box in a vehicle. For example, the vehicle may be the vehicle 10 in Fig. 1A, and the T-Box may be the T-Box 101 in Fig. 1B. The gateway may be a gateway in a vehicle. For example, the vehicle may be the vehicle 10 in Fig. 1A, and the gateway may be the gateway 102 in Fig. 1B.
[0139] It should be noted that the server in the embodiment of the present application may be replaced with a cloud, which may be the cloud 30 in FIG. 1A.
[0140] The multiple device upgrade information may include upgrade information for one or more of the vehicle's internal devices.
[0141] In a possible implementation, the upgrade information of the devices may include upgrade information of a first ECU, which may be used to instruct the server to establish a first channel with the first ECU.
[0142] The first ECU may be any one of ECU 107 to ECU 103 in Fig. 1B. The upgrade information of the first ECU may indicate an address or an identifier of a server.
[0143] It should be noted that the upgrade information of the multiple devices may include the upgrade information of one group of first ECUs, that is, the upgrade information of the multiple devices may include the upgrade information of two or more first ECUs. In the embodiment of the present application, an example in which the upgrade information of the multiple devices includes the upgrade information of the first ECUs is used for explanation. For the case in which the upgrade information of the multiple devices includes the upgrade information of one group of first ECUs, please refer to the following description in which the upgrade information of the multiple devices includes the upgrade information of one first ECU. Details will not be described.
[0144] In some embodiments, the upgrade information of the first ECU may include a download address of the upgrade package of the first ECU, and the download address of the upgrade package of the first ECU may indicate an address of a server, for example, the download address of the upgrade package of the first ECU is a uniform resource locator (URL) of the server.
[0145] In some embodiments, the upgrade information of the first ECU may include a download address of the upgrade package of the first ECU and an address of the server. For example, the download address of the upgrade package of the first ECU may be a URL of a resource server where the upgrade package of the first ECU is located. Then, after the first ECU establishes a first channel with the server, the server may download the upgrade package of the first ECU from the resource server based on the download address of the upgrade package of the first ECU, and send the upgrade package of the first ECU to the first ECU.
[0146] In some embodiments, the upgrade information of the first ECU may include indication information, and the indication information may be used to instruct the first ECU to be upgraded.
[0147] The indication information may include an identifier of the first ECU and an identifier of the server.
[0148] Furthermore, in addition to the aforementioned information, the upgrade information of the first ECU may further include at least one of the following information: a size of the upgrade package of the first ECU, a download policy of the upgrade package of the first ECU, an upgrade condition of the upgrade package of the first ECU, or an upgrade policy of the upgrade package of the first ECU.
[0149] The size of the first ECU's upgrade package is used to indicate the number of bits occupied by the first ECU's upgrade package. The download policy of the first ECU's upgrade package is used to indicate a rule for downloading the first ECU's upgrade package. The upgrade condition of the first ECU's upgrade package is used to indicate a condition that needs to be satisfied to perform an upgrade by using the first ECU's upgrade package. The upgrade policy of the first ECU's upgrade package is used to indicate a rule for performing an upgrade based on the first ECU's upgrade package.
[0150] Optionally, the first ECU is an ECU with a relatively large upgrade package and / or an ECU that is upgraded frequently, for example, the first ECU is an MDC or an HMI.
[0151] Optionally, before step 301, the server establishes a second channel with the T-Box / Gateway.
[0152] The second channel may be a transport layer security (TLS) channel, a hypertext transfer protocol secure (HTTPs) secure channel or a datagram transport layer security (DTLS) secure channel. The second channel may be used for communication between the T-Box / Gateway and the server.
[0153] In some embodiments, the server may establish a second channel with the T-Box / Gateway through a handshake, and after successfully establishing the second channel, the server may perform encrypted communication with the T-Box / Gateway.
[0154] To explain the process of the server establishing a second channel with the T-Box / Gateway through a handshake, an example is used below in which the server establishes a second channel with the T-Box / Gateway through four communications.
[0155] Optionally, the server establishing the second channel with the T-Box / Gateway includes the server receiving second request information from the T-Box / Gateway. The second request information is used to request to establish a second channel with the server. The server sends second request response information to the T-Box / Gateway based on the second request information. The second request response information is used to determine an encryption method for the server and the T-Box / Gateway. The server receives second completion information from the T-Box / Gateway. The second completion information is used to indicate that the establishment of the second channel between the server and the T-Box / Gateway is completed. The server sends second completion response information to the T-Box / Gateway based on the second completion information. The second completion response information is used to indicate that the establishment of the second channel between the server and the T-Box / Gateway is completed.
[0156] The second request information may include an encrypted communication protocol version supported by the T-Box / Gateway (e.g., TLS 1.2), the first random number, and an encryption method supported by the T-Box / Gateway (e.g., Asymmetric Encryption Algorithm (RSA) public key encryption method). The second request information may be referred to as a ClientHello request.
[0157] Optionally, the second request information may further include a compression scheme supported by the T-Box / Gateway.
[0158] The second request response information may include the second random number, the server's certificate, the encrypted encryption scheme, and the communication protocol version that the server decides to use. The second request response information may be referred to as ServerHello information.
[0159] Optionally, the second request response information may include a compression scheme that the server decides to use.
[0160] Note that if the encrypted communication protocol versions supported by the server and the T-Box / Gateway do not match, the server may disable encrypted communication, in other words, no encryption will be performed when the server subsequently communicates with the T-Box / Gateway.
[0161] Optionally, the second request response information may be further used to request a certificate for the T-Box / Gateway.
[0162] The second completion information may include a third random number, a T-Box / Gateway code change notification, and a T-Box / Gateway handshake completion notification. The T-Box / Gateway code change notification may be used to instruct the T-Box / Gateway to send information by using an encryption method determined in the second request response information after sending the second completion information. The T-Box / Gateway handshake completion notification may be used to indicate that the T-Box / Gateway handshake phase is completed.
[0163] Optionally, the second completion information may alternatively be information obtained after the second request information, the third random number, the T-Box / Gateway code change notification, and the T-Box / Gateway handshake completion notification are signed based on a digest function (e.g., a hash function).
[0164] The second completion response information may include a server code change notification and a server handshake completion notification. The server code change notification may be used to instruct the server to send information by using an encryption method determined in the second request response information after sending the second completion response information. The server handshake completion notification may be used to indicate that the server's handshake phase is completed.
[0165] Optionally, after receiving the second completion information, the server may generate a first session key based on the first random number, the second random number, the third random number, and the encryption scheme determined in the second request response information, and then the server may encrypt information sent to the T-Box / Gateway by using the first session key, and may decrypt information sent by the T-Box / Gateway by using the first session key.
[0166] Optionally, the server finds out that there are devices to be upgraded among the internal devices of the vehicle, and sends upgrade information of the multiple devices to the T-Box / Gateway.
[0167] 1A and 1B, for example, the server 20 receives indication information from an OEM system. The indication information is used to instruct the server 20 to instruct the vehicle 10 to upgrade internal devices in the vehicle 10. The server 20 sends upgrade information of multiple devices to the T-Box 101 / Gateway 102.
[0168] Optionally, the step of the server sending the upgrade information of the multiple devices to the T-Box / Gateway includes the step of the server signing the upgrade information of the multiple devices to obtain the signed upgrade information of the multiple devices. The server encrypts the signed upgrade information of the multiple devices to obtain the encrypted upgrade information of the multiple devices. The server sends the encrypted upgrade information of the multiple devices to the T-Box / Gateway.
[0169] The server signing the upgrade information of the multiple devices may include the server performing a tier 1 signature on the upgrade information of the multiple devices, or the server performing a tier 2 signature on the upgrade information of the multiple devices.
[0170] Optionally, the server performing a stratum 1 signature on the upgrade information of the plurality of devices comprises the server signing the upgrade information of the plurality of devices.
[0171] For example, the server performs a layer 1 signature on the upgrade information of the multiple devices. The server signs the upgrade information of the first ECU based on a first digest function (e.g., a hash function) to obtain the signed upgrade information of the first ECU. The server encrypts the signed upgrade information of the first ECU by using the first session key to obtain the encrypted upgrade information of the first ECU. The server sends the encrypted upgrade information of the first ECU to the T-Box / Gateway.
[0172] Optionally, the server performing Layer 2 signing on the upgrade information of the plurality of devices includes the server signing upgrade information of each device in the upgrade information of the plurality of devices to obtain signed upgrade information of the plurality of devices. The server signs the signed upgrade information of the plurality of devices.
[0173] For example, the server performs layer 2 signature on upgrade information of multiple devices. The server signs the upgrade information of the first ECU based on the second digest function to obtain first signature information. The server signs the first signature information based on the first digest function to obtain second signature information. The server encrypts the second signature information by using the first session key to obtain encrypted second signature information. The server sends the encrypted second signature information to the T-Box / Gateway. The first digest function and the second digest function may be the same or different.
[0174] Step 302: The T-Box / Gateway receives upgrade information of multiple devices from the server, and sends upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU.
[0175] Optionally, before the T-Box / Gateway receives the upgrade information of the multiple devices from the server, the T-Box / Gateway establishes a second channel with the server.
[0176] The T-Box / Gateway may establish a second channel with the server through a handshake, and after successfully establishing the second channel, the T-Box / Gateway may perform encrypted communication with the server.
[0177] To explain the process of the T-Box / Gateway establishing a second channel with the server through a handshake, an example is used below in which the T-Box / Gateway establishes a second channel with the server through four communications.
[0178] Optionally, the T-Box / Gateway establishing the second channel with the server includes the T-Box / Gateway sending second request information to the server. The second request information is used to request the establishment of the second channel with the server. The T-Box / Gateway receives second request response information from the server. The second request response information is used to determine an encryption method for the server and the T-Box / Gateway. The T-Box / Gateway sends second completion information to the server. The second completion information is used to indicate that the establishment of the second channel between the server and the T-Box / Gateway is completed. The T-Box / Gateway receives second completion response information from the server. The second completion response information is used to indicate that the establishment of the second channel between the server and the T-Box / Gateway is completed.
[0179] Optionally, after sending the second completion information, the T-Box / Gateway may generate a first session key based on the first random number, the second random number, the third random number, and the encryption scheme determined in the second request response information, and then the T-Box / Gateway may encrypt information sent to the server by using the first session key, and may decrypt information sent by the server by using the first session key.
[0180] Optionally, the step of the T-Box / Gateway sending the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU includes the step of the T-Box / Gateway sending the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU after successfully verifying the upgrade information of the multiple devices.
[0181] For example, the server performs Layer 1 signing on the upgrade information of the multiple devices. The T-Box / Gateway decrypts the upgrade information of the first ECU by using the first session key to obtain the decrypted upgrade information of the first ECU. The T-Box / Gateway verifies the decrypted upgrade information of the first ECU based on the first digest function, and sends the decrypted upgrade information of the first ECU to the first ECU after the verification is successful.
[0182] For example, the server performs layer 2 signing on the upgrade information of the multiple devices. The T-Box / Gateway decrypts the upgrade information of the first ECU by using the first session key to obtain the decrypted upgrade information of the first ECU. The T-Box / Gateway verifies the decrypted upgrade information of the first ECU based on the first digest function, and sends the decrypted upgrade information of the first ECU to the first ECU after the verification is successful.
[0183] In some embodiments, if the T-Box / Gateway fails to verify the upgrade information of multiple devices, the T-Box / Gateway sends verification failure information to the server, which is used to indicate that the T-Box / Gateway has failed to perform the verification.
[0184] Step 303: The first ECU receives upgrade information of the first ECU from the T-Box / gateway, and establishes a first channel with the server based on the upgrade information of the first ECU.
[0185] In some embodiments, when the upgrade information of the first ECU includes a download address of the upgrade package of the first ECU, and the download address of the upgrade package of the first ECU indicates an address of a server, the first ECU may determine the server based on the download address of the upgrade package of the first ECU and establish a first channel with the server. Then, the first ECU may send the download address of the upgrade package of the first ECU to the server. As a result, the server sends the upgrade package of the first ECU to the first ECU based on the download address of the upgrade package of the first ECU.
[0186] In some embodiments, when the upgrade information of the first ECU includes a download address of the upgrade package of the first ECU and an address of the server, the first ECU may determine the server based on the address of the server and establish a first channel with the server. The first ECU may then send the download address of the upgrade package of the first ECU to the server. As a result, the server sends the upgrade package of the first ECU to the first ECU based on the download address of the upgrade package of the first ECU.
[0187] In some embodiments, when the upgrade information of the first ECU includes indication information, and the indication information includes an identifier of the first ECU and an identifier of the server, the first ECU may determine the server based on the identifier of the server and establish a first channel with the server. The first ECU may then send the identifier of the first ECU to the server. As a result, the server sends the upgrade package of the first ECU to the first ECU based on the identifier of the first ECU.
[0188] Optionally, when the server performs Layer 2 signing on the upgrade information of the multiple devices, the first ECU establishing the first channel with the server based on the upgrade information of the first ECU includes, after the first ECU successfully verifies the upgrade information of the first ECU, establishing the first channel with the server based on the upgrade information of the first ECU. For example, the first ECU verifies the upgrade information of the first ECU based on the second digest function, and establishes the first channel with the server based on the upgrade information of the first ECU after the verification is successful.
[0189] Note that if the server performs Layer 2 signing on the upgrade information of multiple devices, the T-Box / Gateway may also verify the upgrade information of the first ECU and send the upgrade information of the first ECU to the first ECU after the verification is successful. In this way, the first ECU may not need to verify the upgrade information of the first ECU.
[0190] Further, optionally, when the first ECU fails to verify the upgrade information of the first ECU, the first ECU sends verification failure information to the server, where the verification failure information is used to indicate that the first ECU fails to perform the verification.
[0191] The first channel may be a TLS channel, an HTTPS secure channel, or a DTLS secure channel, etc. The first channel may be used for communication between the first ECU and the server.
[0192] In some embodiments, the first ECU may establish a first channel with the server through a handshake, and after successfully establishing the first channel, the first ECU may perform encrypted communication with the server.
[0193] To explain the process of the first ECU establishing a first channel with the server through a handshake, an example in which the first ECU establishes a first channel with the server through four communications is used below.
[0194] Optionally, the first ECU establishing the first channel with the server includes the first ECU sending first request information to the server. The first request information is used to request to establish the first channel with the server. The first ECU receives first request response information from the server. The first request response information is used to determine an encryption scheme for the server and the first ECU. The first ECU sends first completion information to the server. The first completion information is used to indicate that the establishment of the first channel between the first ECU and the server is completed. The first ECU receives first completion response information from the server. The first completion response information is used to indicate that the establishment of the first channel between the first ECU and the server is completed.
[0195] The first request information may include an encrypted communication protocol version (e.g., TLS1.2) supported by the first ECU, a fourth random number, and an encryption method (e.g., an asymmetric encryption algorithm (RSA) public key encryption method) supported by the first ECU. The first request information may be referred to as a ClientHello request.
[0196] Optionally, the first request information may further include a compression scheme supported by the first ECU.
[0197] The first request response information may include the fifth random number, the server's certificate, the encrypted encryption scheme, and the communication protocol version that the server decides to use. The first request response information may be referred to as ServerHello information.
[0198] Optionally, the first request response information may include a compression scheme that the server decides to use.
[0199] Note that if the encrypted communication protocol versions supported by the server and the first ECU do not match, the server may disable encrypted communication, in other words, no encryption will be performed when the server subsequently communicates with the first ECU.
[0200] Optionally, the first request response information may be further used to request a certificate for the first ECU.
[0201] The first completion information may include the sixth random number, a code change notification of the first ECU, and a handshake completion notification of the first ECU. The code change notification of the first ECU may be used to instruct the first ECU to send information by using an encryption method determined in the first request response information after sending the first completion information. The handshake completion notification of the first ECU may be used to indicate that the handshake phase of the first ECU is completed.
[0202] Optionally, the first completion information may alternatively be information obtained after the first request information, the sixth random number, the first ECU's code change notification, and the first ECU's handshake completion notification are signed based on a digest function (e.g., a hash function).
[0203] The first completion response information may include a server code change notification and a server handshake completion notification. The server code change notification may be used to instruct the server to send information by using an encryption method determined in the first request response information after sending the first completion response information. The server handshake completion notification may be used to indicate that the server's handshake phase is completed.
[0204] Optionally, after receiving the first completion information, the server may generate a second session key based on the fourth random number, the fifth random number, the sixth random number, and the encryption scheme determined in the first request response information, and then the server may encrypt information sent to the first ECU by using the second session key, and may decrypt information sent by the first ECU by using the first session key.
[0205] Please note that when the upgrade information of multiple devices includes upgrade information of a group of first ECUs, each first ECU may establish a first channel with the server based on the upgrade information of the ECU.
[0206] Step 304: The server establishes a first channel with the first ECU, and sends the upgrade package for the first ECU to the first ECU through the first channel.
[0207] In some embodiments, the server may establish a first channel with the first ECU through a handshake, and after successfully establishing the first channel, the server may perform encrypted communication with the first ECU.
[0208] To explain the process of the server establishing a first channel with the first ECU through handshake, an example in which the server establishes a first channel with the first ECU through four communications is used below.
[0209] Optionally, the server establishing the first channel with the first ECU includes the server receiving first request information from the first ECU. The first request information is used to request to establish the first channel with the server. The server transmits first request response information to the first ECU based on the first request information. The first request response information is used to determine an encryption scheme for the server and the first ECU. The server receives first completion information from the first ECU. The first completion information is used to indicate that the establishment of the first channel between the first ECU and the server is completed. The server transmits first completion response information to the first ECU based on the first completion information. The first completion response information is used to indicate that the establishment of the first channel between the first ECU and the server is completed.
[0210] It should be noted that when the upgrade information of multiple devices includes upgrade information of one group of first ECUs, the server may establish a first channel with each first ECU and send the upgrade package of the ECU corresponding to the first channel to the ECU through the first channel.
[0211] Optionally, the step of the server transmitting the upgrade package for the first ECU to the first ECU over the first channel includes the step of the server signing the upgrade package for the first ECU to obtain a signed upgrade package for the first ECU. The server encrypts the signed upgrade package for the first ECU to obtain an encrypted upgrade package for the first ECU. The server transmits the encrypted upgrade package for the first ECU to the first ECU over the first channel.
[0212] For example, the server signs the upgrade package of the first ECU by using a first digest function. The server signs the upgrade package of the first ECU based on the first digest function to obtain a signed upgrade package of the first ECU. The server encrypts the signed upgrade package of the first ECU by using a second session key to obtain an encrypted upgrade package of the first ECU. The server sends the encrypted upgrade package of the first ECU to the first ECU through a first channel.
[0213] Step 305: The first ECU receives the upgrade package of the first ECU from the server through the first channel, and performs an upgrade based on the upgrade package of the first ECU.
[0214] Optionally, the step of the first ECU performing an upgrade based on the upgrade package of the first ECU includes a step of the first ECU performing an upgrade based on the upgrade package of the first ECU after successful verification of a signature of the upgrade package of the first ECU.
[0215] For example, the server signs the upgrade package of the first ECU by using a first digest function. The first ECU decrypts the upgrade package of the first ECU by using a second session key to obtain the decrypted upgrade package of the first ECU. The first ECU verifies the decrypted upgrade package of the first ECU based on the first digest function, and performs the upgrade based on the upgrade package of the first ECU after the verification is successful.
[0216] Optionally, the step of the first ECU performing an upgrade based on the first ECU upgrade package comprises the first ECU installing the first ECU upgrade package.
[0217] Based on the method shown in FIG. 3, the server may send upgrade information of multiple devices to the T-Box / Gateway. The T-Box / Gateway receives the upgrade information of multiple devices from the server, and sends the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU. The first ECU receives the upgrade information of the first ECU from the T-Box / Gateway, and establishes a first channel with the server based on the upgrade information of the first ECU. The server may send an upgrade package of the first ECU to the first ECU through the first channel. The first ECU receives the upgrade package of the first ECU from the server, and performs an upgrade based on the upgrade package of the first ECU. In this way, the upgrade package of the first ECU does not need to be downloaded by the T-Box / Gateway. This can improve the upgrade efficiency and download speed, and reduce the load and storage requirements of the T-Box / Gateway.
[0218] It should be noted that the upgrade information of the multiple devices may further include the upgrade information of the second ECU and / or the upgrade information of the gateway and / or the upgrade information of the T-Box. The T-Box / Gateway may send the upgrade information of the corresponding device to the device according to the upgrade information of the multiple devices. After receiving the upgrade information of the device, the device may perform an upgrade according to the upgrade information of the device.
[0219] In order to describe the upgrade method provided in the embodiment of the present application, an example in which the upgrade information of the multiple devices includes the upgrade information of the second ECU is used below. For the case in which the upgrade information of the multiple devices includes the upgrade information of the gateway and / or the upgrade information of the T-Box, please refer to the method shown in Fig. 4. Details will not be described.
[0220] Further, optionally, the upgrade information of the multiple devices may further include upgrade information of a second ECU. The T-Box / Gateway may send the upgrade information of the second ECU to the second ECU based on the upgrade information of the second ECU, and the second ECU receives the upgrade information of the second ECU and performs an upgrade based on the upgrade information of the second ECU. For example, as shown in FIG. 4, the method shown in FIG. 3 further includes step 401 and step 402.
[0221] Step 401: The T-Box / Gateway sends upgrade information of the second ECU to the second ECU.
[0222] The second ECU may be any one of ECU 103 to ECU 107 in Fig. 1B. The second ECU is different from the first ECU.
[0223] The upgrade information for the second ECU may include an upgrade package for the second ECU.
[0224] Optionally, the second ECU is an ECU with a relatively small upgrade package and / or an ECU that is upgraded infrequently.
[0225] Step 402: The second ECU receives upgrade information of the second ECU from the T-Box / gateway, and performs an upgrade based on the upgrade information of the second ECU.
[0226] Optionally, the step of the second ECU performing an upgrade based on the upgrade information of the second ECU comprises the second ECU installing an upgrade package of the second ECU.
[0227] It should be noted that the execution order of steps 401 and 402 and steps 302 to 305 is not limited in the embodiment of the present application. For example, in the embodiment of the present application, steps 401 and 402 may be executed before steps 302 to 305, steps 302 to 305 may be executed before steps 401 and 402, and steps 302 to 305 and steps 401 and 402 may be executed simultaneously.
[0228] 4, when the upgrade information of the multiple devices further includes upgrade information of the second ECU, the T-Box / Gateway may send the upgrade information of the second ECU to the second ECU, and the second ECU receives the upgrade information of the second ECU from the T-Box / Gateway and performs an upgrade based on the upgrade information of the second ECU. In this way, the T-Box / Gateway may further assist in the upgrade of the second ECU.
[0229] The upgrade method provided in the embodiment of the present application is described below by using an example in which the T-Box has the ability to coordinate the upgrade of internal devices in a vehicle, and the upgrade information of multiple devices includes upgrade information of a first ECU and upgrade information of a second ECU.
[0230] 5 shows an upgrade method according to an embodiment of the present application. The upgrade method includes steps 501 to 508.
[0231] Step 501: A server sends upgrade information for multiple devices to a T-Box.
[0232] The server may be the server 20 in Fig. 1A, and the T-Box may be a T-Box in a vehicle. For example, the vehicle may be the vehicle 10 in Fig. 1A, and the T-Box may be the T-Box 101 in Fig. 1B.
[0233] It should be noted that the server in the embodiment of the present application may be replaced with a cloud, which may be the cloud 30 in FIG. 1A.
[0234] The upgrade information of the multiple devices may include the upgrade information of the first ECU and the upgrade information of the second ECU. For the description of the first ECU and the upgrade information of the first ECU, please refer to the description of the first ECU and the upgrade information of the first ECU in the method shown in FIG. 3. The details will not be described again. For the description of the second ECU and the upgrade information of the second ECU, please refer to the description of the second ECU and the upgrade information of the second ECU in the method shown in FIG. 4. The details will not be described again.
[0235] Optionally, before step 501, the server establishes a second channel with the T-Box. For a description of the establishment of the second channel between the server and the T-Box, please refer to the description of the establishment of the second channel between the server and the T-Box / Gateway in step 301. Details will not be described again.
[0236] Optionally, the server finds out that the first ECU and the second ECU need to be upgraded, and sends the upgrade information of the multiple devices to the T-Box.
[0237] 1A and 1B, for example, the server 20 receives indication information from the OEM system. The indication information is used to instruct the server 20 to instruct the first ECU and the second ECU to upgrade. The server 20 sends upgrade information of multiple devices to the T-Box 101.
[0238] Optionally, the step of the server sending the upgrade information of the multiple devices to the T-Box includes the step of the server signing the upgrade information of the multiple devices to obtain the signed upgrade information of the multiple devices. The server encrypts the signed upgrade information of the multiple devices to obtain the encrypted upgrade information of the multiple devices. The server sends the encrypted upgrade information of the multiple devices to the T-Box.
[0239] The server signing the upgrade information of the multiple devices may include the server performing a tier 1 signature on the upgrade information of the multiple devices, or the server performing a tier 2 signature on the upgrade information of the multiple devices.
[0240] Optionally, the server performing a stratum 1 signature on the upgrade information of the plurality of devices comprises the server signing the upgrade information of the plurality of devices.
[0241] For example, the server performs a layer 1 signature on the upgrade information of the multiple devices. The server signs the upgrade information of the first ECU and the upgrade information of the second ECU based on a first digest function (e.g., a hash function) to obtain the signed upgrade information of the first ECU and the signed upgrade information of the second ECU. The server encrypts the signed upgrade information of the first ECU and the signed upgrade information of the second ECU by using the first session key to obtain the encrypted upgrade information of the first ECU and the encrypted upgrade information of the second ECU. The server sends the encrypted upgrade information of the first ECU and the encrypted upgrade information of the second ECU to the T-Box.
[0242] Optionally, the server performing Layer 2 signing on the upgrade information of the plurality of devices includes the server signing upgrade information of each device in the upgrade information of the plurality of devices to obtain signed upgrade information of the plurality of devices. The server signs the signed upgrade information of the plurality of devices.
[0243] For example, the server performs layer 2 signature on the upgrade information of multiple devices. The server signs the upgrade information of the first ECU based on the second digest function to obtain first signature information. The server signs the upgrade information of the second ECU based on the third digest function to obtain second signature information. The server signs the first signature information and the second signature information based on the first digest function to obtain third signature information. The server encrypts the third signature information by using the first session key to obtain encrypted third signature information. The server sends the encrypted third signature information to the T-Box. The first digest function, the second digest function, and the third digest function may be the same or different.
[0244] Step 502: The T-Box receives upgrade information for multiple devices from a server.
[0245] Optionally, before the T-Box receives the upgrade information of the multiple devices from the server, the T-Box establishes a second channel with the server. For a description of the establishment of the second channel between the T-Box and the server, please refer to the description of the establishment of the second channel between the T-Box / Gateway and the server in step 302. Details will not be described again.
[0246] Optionally, after receiving the upgrade information of the multiple devices from the server, the T-Box may verify the upgrade information of the multiple devices. If the verification is successful, the T-Box sends the upgrade information corresponding to each of the multiple devices to the device. If the verification is unsuccessful, the T-Box sends verification failure information to the server. The verification failure information is used to indicate that the verification of the T-Box has failed.
[0247] For example, the server performs layer 1 signing on the upgrade information of multiple devices. The T-Box decrypts the upgrade information of the first ECU and the upgrade information of the second ECU to obtain the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU. The T-Box verifies the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU based on the first digest function, and sends the decrypted upgrade information of the first ECU to the first ECU and sends the decrypted upgrade information of the second ECU to the second ECU after the verification is successful.
[0248] For example, the server performs layer 2 signature on the upgrade information of multiple devices. The T-Box decrypts the upgrade information of the first ECU and the upgrade information of the second ECU to obtain the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU. The T-Box verifies the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU based on the first digest function, and sends the decrypted upgrade information of the first ECU to the first ECU after the verification is successful. The T-Box verifies the decrypted upgrade information of the second ECU based on the third digest function, and sends the decrypted upgrade information of the second ECU to the second ECU if the decrypted upgrade information of the second ECU is successfully verified.
[0249] Step 503: The T-Box sends the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU.
[0250] Optionally, the step of the T-Box sending the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU includes the step of the T-Box forwarding (transparently transmitting) the upgrade information of the first ECU to the first ECU through a gateway based on the upgrade information of the first ECU.
[0251] The gateway may be gateway 102 in FIG. 1B.
[0252] Step 504: The first ECU receives upgrade information of the first ECU from the T-Box, and establishes a first channel with the server based on the upgrade information of the first ECU.
[0253] Optionally, the step of the first ECU receiving the upgrade information of the first ECU from the T-Box includes the first ECU receiving the upgrade information of the first ECU from the T-Box through a gateway.
[0254] For a specific description of the first ECU establishing a first channel with the server based on the upgrade information of the first ECU, please refer to the description of step 303. Details will not be described again.
[0255] Step 505: The server establishes a first channel with the first ECU, and sends the upgrade package for the first ECU to the first ECU through the first channel.
[0256] Step 506: The first ECU receives the upgrade package of the first ECU from the server through the first channel, and performs an upgrade based on the upgrade package of the first ECU.
[0257] For a specific description of step 505 and step 506, please refer to the description of step 304 and step 305. Details will not be described again.
[0258] Step 507: The T-Box sends the upgrade information of the second ECU to the second ECU.
[0259] Step 508: The second ECU receives the upgrade information of the second ECU from the T-Box, and performs an upgrade based on the upgrade information of the second ECU.
[0260] For a specific description of step 507 and step 508, please refer to the description of step 401 and step 402. Details will not be described again.
[0261] It should be noted that the execution order of steps 503 to 506 and steps 507 and 508 is not limited in the embodiment of the present application. For example, in the embodiment of the present application, steps 503 to 506 may be executed before steps 507 and 508, steps 507 and 508 may be executed before steps 503 to 506, and steps 503 to 506 and steps 507 and 508 may be executed simultaneously.
[0262] Based on the method shown in FIG. 5, the server may send upgrade information of the multiple devices to the T-Box. The T-Box receives the upgrade information of the multiple devices from the server, and sends the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU. The first ECU receives the upgrade information of the first ECU from the T-Box, and establishes a first channel with the server based on the upgrade information of the first ECU. The server may send an upgrade package of the first ECU to the first ECU through the first channel. The first ECU receives the upgrade package of the first ECU from the server, and performs an upgrade based on the upgrade package of the first ECU. The T-Box sends the upgrade information of the second ECU to the second ECU based on the upgrade information of the second ECU. The second ECU receives the upgrade information of the second ECU from the T-Box, and performs an upgrade based on the upgrade information of the second ECU. In this way, the second ECU may download the upgrade package of the second ECU through the T-Box and perform the upgrade. However, the first ECU may not need to download the upgrade package of the first ECU through the T-Box. This improves upgrade efficiency and download speed, and reduces the load and storage requirements of the T-Box.
[0263] The upgrade method provided in the embodiment of the present application is described below by using an example in which the gateway has the ability to coordinate the upgrade of internal devices in the vehicle, and the upgrade information of multiple devices includes upgrade information of a first ECU and upgrade information of a second ECU.
[0264] 6 shows an upgrade method according to an embodiment of the present application. The upgrade method includes steps 601 to 608.
[0265] Step 601: A server sends upgrade information of multiple devices to a gateway.
[0266] The server may be server 20 in Fig. 1A, and the gateway may be a gateway in a vehicle, e.g., the vehicle may be vehicle 10 in Fig. 1A, and the gateway may be gateway 102 in Fig. 1B.
[0267] It should be noted that the server in the embodiment of the present application may be replaced with a cloud, which may be the cloud 30 in FIG. 1A.
[0268] The upgrade information of the multiple devices may include the upgrade information of the first ECU and the upgrade information of the second ECU. For the description of the first ECU and the upgrade information of the first ECU, please refer to the description of the first ECU and the upgrade information of the first ECU in the method shown in FIG. 3. The details will not be described again. For the description of the second ECU and the upgrade information of the second ECU, please refer to the description of the second ECU and the upgrade information of the second ECU in the method shown in FIG. 4. The details will not be described again.
[0269] Optionally, the step of the server sending the upgrade information of the plurality of devices to the gateway includes the step of the server sending the upgrade information of the plurality of devices to a T-Box, the T-Box receiving the upgrade information of the plurality of devices from the server and forwarding (transparently transmitting) the upgrade information of the plurality of devices to the gateway.
[0270] Optionally, before the server sends the upgrade information of multiple devices to the T-Box, the server establishes a second channel with the T-Box. For a description of the establishment of the second channel between the server and the T-Box, please refer to the description of the establishment of the second channel between the server and the T-Box / Gateway in step 301. Details will not be described again.
[0271] Optionally, before the T-Box receives the upgrade information of the multiple devices from the server, the T-Box establishes a second channel with the server. For a description of the establishment of the second channel between the T-Box and the server, please refer to the description of the establishment of the second channel between the T-Box / Gateway and the server in step 302. Details will not be described again.
[0272] Optionally, the server finds out that the first ECU and the second ECU need to be upgraded, and sends upgrade information of the multiple devices to the gateway.
[0273] 1A and 1B, for example, the server 20 receives indication information from the OEM system. The indication information is used to instruct the server 20 to instruct to upgrade the first ECU and the second ECU. The server 20 sends the upgrade information of the multiple devices to the gateway 102.
[0274] Optionally, the step of the server sending the upgrade information of the plurality of devices to the gateway includes the step of the server signing the upgrade information of the plurality of devices to obtain signed upgrade information of the plurality of devices. The server encrypts the signed upgrade information of the plurality of devices to obtain encrypted upgrade information of the plurality of devices. The server sends the encrypted upgrade information of the plurality of devices to the gateway.
[0275] The server signing the upgrade information of the multiple devices may include the server performing a tier 1 signature on the upgrade information of the multiple devices, or the server performing a tier 2 signature on the upgrade information of the multiple devices.
[0276] Optionally, the server performing a stratum 1 signature on the upgrade information of the plurality of devices comprises the server signing the upgrade information of the plurality of devices.
[0277] For example, the server performs a layer 1 signature on the upgrade information of the multiple devices. The server signs the upgrade information of the first ECU and the upgrade information of the second ECU based on a first digest function (e.g., a hash function) to obtain the signed upgrade information of the first ECU and the signed upgrade information of the second ECU. The server encrypts the signed upgrade information of the first ECU and the signed upgrade information of the second ECU by using the first session key to obtain the encrypted upgrade information of the first ECU and the encrypted upgrade information of the second ECU. The server sends the encrypted upgrade information of the first ECU and the encrypted upgrade information of the second ECU to the gateway.
[0278] Optionally, the server performing Layer 2 signing on the upgrade information of the plurality of devices includes the server signing upgrade information of each device in the upgrade information of the plurality of devices to obtain signed upgrade information of the plurality of devices. The server signs the signed upgrade information of the plurality of devices.
[0279] For example, the server performs layer 2 signature on the upgrade information of multiple devices. The server signs the upgrade information of the first ECU based on the second digest function to obtain first signature information. The server signs the upgrade information of the second ECU based on the third digest function to obtain second signature information. The server signs the first signature information and the second signature information based on the first digest function to obtain third signature information. The server encrypts the third signature information by using the first session key to obtain encrypted third signature information. The server sends the encrypted third signature information to the gateway. The first digest function, the second digest function and the third digest function may be the same or different.
[0280] Step 602: The gateway receives upgrade information of the multiple devices from the server.
[0281] Optionally, the step of the gateway receiving the upgrade information of the plurality of devices from the server comprises the gateway receiving the upgrade information of the plurality of devices from a T-Box.
[0282] Optionally, after receiving the upgrade information of the multiple devices from the server, the gateway may verify the upgrade information of the multiple devices. If the verification is successful, the gateway sends the upgrade information corresponding to each of the multiple devices to the device. If the verification is unsuccessful, the gateway sends verification failure information to the server. The verification failure information is used to indicate that the gateway verification has failed.
[0283] For example, the server performs layer 1 signing on the upgrade information of the multiple devices. The gateway decrypts the upgrade information of the first ECU and the upgrade information of the second ECU to obtain the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU. The gateway verifies the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU based on the first digest function, and sends the decrypted upgrade information of the first ECU to the first ECU and sends the decrypted upgrade information of the second ECU to the second ECU after the verification is successful.
[0284] For example, the server performs layer 2 signature on the upgrade information of the multiple devices. The gateway decrypts the upgrade information of the first ECU and the upgrade information of the second ECU to obtain the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU. The gateway verifies the decrypted upgrade information of the first ECU and the decrypted upgrade information of the second ECU based on the first digest function, and sends the decrypted upgrade information of the first ECU to the first ECU after the verification is successful. The gateway verifies the decrypted upgrade information of the second ECU based on the third digest function, and sends the decrypted upgrade information of the second ECU to the second ECU if the decrypted upgrade information of the second ECU is successfully verified.
[0285] Step 603: The gateway sends the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU.
[0286] Step 604: The first ECU receives upgrade information of the first ECU from the gateway, and establishes a first channel with the server based on the upgrade information of the first ECU.
[0287] For a detailed description of step 604, please refer to the description of step 303. Details will not be described again.
[0288] Step 605: The server establishes a first channel with the first ECU, and sends the upgrade package for the first ECU to the first ECU through the first channel.
[0289] Step 606: The first ECU receives the upgrade package of the first ECU from the server through the first channel, and performs an upgrade based on the upgrade package of the first ECU.
[0290] For a specific description of step 605 and step 606, please refer to the description of step 304 and step 305. Details will not be described again.
[0291] Step 607: The gateway sends the upgrade information of the second ECU to the second ECU.
[0292] Step 608: The second ECU receives the upgrade information of the second ECU from the gateway, and performs an upgrade based on the upgrade information of the second ECU.
[0293] For a specific description of step 607 and step 608, please refer to the description of step 401 and step 402. Details will not be described again.
[0294] It should be noted that the execution order of steps 603 to 606 and steps 607 and 608 is not limited in the embodiment of the present application. For example, in the embodiment of the present application, steps 603 to 606 may be executed before steps 607 and 608, steps 607 and 608 may be executed before steps 603 to 606, and steps 603 to 606 and steps 607 and 608 may be executed simultaneously.
[0295] Based on the method shown in FIG. 6, the server may send upgrade information of the multiple devices to the gateway. The gateway receives the upgrade information of the multiple devices from the server, and sends the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU. The first ECU receives the upgrade information of the first ECU from the gateway, and establishes a first channel with the server based on the upgrade information of the first ECU. The server may send an upgrade package of the first ECU to the first ECU through the first channel. The first ECU receives the upgrade package of the first ECU from the server, and performs an upgrade based on the upgrade package of the first ECU. The gateway sends the upgrade information of the second ECU to the second ECU based on the upgrade information of the second ECU. The second ECU receives the upgrade information of the second ECU from the gateway, and performs an upgrade based on the upgrade information of the second ECU. In this way, the second ECU may download the upgrade package of the second ECU through the gateway and perform an upgrade. However, the first ECU may not need to download the upgrade package of the first ECU through the gateway, which improves upgrade efficiency and download speed, and reduces the load and storage requirements of the gateway.
[0296] The above mainly describes the solutions provided in the embodiments of the present application from the viewpoint of interactions between devices. To implement the above functions, it can be understood that the above server, cloud, T-Box, gateway or first ECU, etc. include corresponding hardware structures and / or software modules for performing each of the functions. In combination with the example units and algorithm operations described in the embodiments disclosed herein, those skilled in the art should easily recognize that the present application can be implemented by hardware, or a combination of hardware and computer software. Whether a function is implemented by hardware or by hardware driven by computer software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to go beyond the scope of the present application.
[0297] In the embodiment of the present application, the functional modules of the server, the cloud, the T-Box, the gateway, or the first ECU may be obtained through division based on the above-mentioned method example. For example, each functional module may be obtained through division based on each of the corresponding functions, and two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware or in the form of a software functional module. It should be noted that in the embodiment of the present application, the division into modules is an example and is merely a logical functional division. In actual implementation, another division method may be used.
[0298] For example, when the functional modules are obtained through division in an integrated manner, Fig. 7 is a schematic diagram of the structure of the communication device 70. The communication device 70 may be a chip or a system on chip in the first ECU, or another combined device or component capable of implementing the function of the first ECU, etc. The communication device 70 may be configured to implement the function of the first ECU in the above-mentioned embodiment.
[0299] In a possible implementation, the communication device 70 shown in FIG.
[0300] The receiving module 701 is configured to receive upgrade information for the communication device 70 from a telematics box or gateway.
[0301] The processing module 702 is configured to establish a first channel with the server based on the upgrade information of the communication device 70 .
[0302] The receiving module 701 is further configured to receive an upgrade package for the communication device 70 from the server over the first channel.
[0303] The processing module 702 is further configured to perform an upgrade based on the upgrade package of the communication device 70 .
[0304] Optionally, the first channel is a transport layer security channel, a HyperText Transfer Protocol Secure secure channel or a Datagram Transport Layer Security secure channel.
[0305] Optionally, the processing module 702 is specifically configured to send first request information to the server. The first request information is used to request to establish a first channel with the server. The processing module 702 is further specifically configured to receive first request response information from the server. The first request response information is used to determine an encryption scheme for the server and the first ECU. The processing module 702 is further specifically configured to send first completion information to the server. The first completion information is used to indicate that the establishment of the first channel between the communication device 70 and the server is completed. The processing module 702 is further specifically configured to receive first completion response information from the server. The first completion response information is used to indicate that the establishment of the first channel between the communication device 70 and the server is completed.
[0306] Optionally, the upgrade information of the communication device 70 includes a download address of an upgrade package for the communication device 70 .
[0307] Optionally, the upgrade information of the communication device 70 includes indication information, which is used to instruct the communication device 70 to upgrade.
[0308] Optionally, the processing module 702 is specifically configured to perform an upgrade based on the upgrade package of the first ECU after successful verification of the signature of the upgrade package of the first ECU.
[0309] All the relevant contents of the operations in the above method embodiments can be cited in the functional description of the corresponding functional modules, and the details will not be described again here.
[0310] In an embodiment, the communication device 70 is presented in the form of a functional module obtained through division in an integrated manner. A "module" in this specification may be a specific ASIC, circuit, processor and memory executing one or more software or firmware programs, integrated logic circuit, and / or other component capable of providing the aforementioned functionality. In a simple embodiment, a person skilled in the art may realize that the communication device 70 may be in the form shown in FIG. 2.
[0311] For example, the processor 201 in FIG. 2 may invoke computer-executable instructions stored in the memory 203 to enable the communication device 70 to execute the upgrade method in the above-described method embodiments.
[0312] For example, the functions / implementation processes of the receiving module 701 and the processing module 702 in Figure 7 may be implemented by the processor 201 in Figure 2 by invoking computer-executable instructions stored in the memory 203. Alternatively, the functions / implementation processes of the processing module 702 in Figure 7 may be implemented by the processor 201 in Figure 2 by invoking computer-executable instructions stored in the memory 203, and the functions / implementation processes of the receiving module 701 in Figure 7 may be implemented by the communication interface 204 in Figure 2.
[0313] The communication device 70 provided in the embodiment can be configured to perform the above-mentioned upgrade method. Therefore, for the technical effects that can be achieved by the communication device, please refer to the above-mentioned method embodiment. Details will not be described again here.
[0314] For example, when the functional modules are obtained through division in an integrated manner, Fig. 8 is a schematic diagram of the structure of the communication device 80. The communication device 80 may be a chip or a system-on-chip in a T-Box / Gateway, or another combined device or component capable of implementing the functions of the T-Box / Gateway, etc. The communication device 80 may be configured to implement the functions of the T-Box / Gateway in the above-mentioned embodiments.
[0315] In a possible implementation, the communication device 80 shown in FIG.
[0316] The receiving module 801 is configured to receive upgrade information of the multiple devices from a server, the upgrade information of the multiple devices including upgrade information of a first electronic control unit ECU, and the upgrade information of the first ECU is used to instruct the first ECU to establish a first channel with the server.
[0317] The sending module 802 is configured to send the upgrade information of the first ECU to the first ECU based on the upgrade information of the first ECU.
[0318] Optionally, the first channel is a transport layer security channel, a HyperText Transfer Protocol Secure secure channel or a Datagram Transport Layer Security secure channel.
[0319] Optionally, the upgrade information of the first ECU includes a download address of an upgrade package of the first ECU.
[0320] Optionally, the upgrade information of the first ECU includes indication information, the indication information being used to instruct the first ECU to upgrade.
[0321] Optionally, the upgrade information of the multiple devices further includes an upgrade package of the second ECU. The sending module 802 is further configured to send the upgrade package of the second ECU to the second ECU.
[0322] All the relevant contents of the operations in the above method embodiments can be cited in the functional description of the corresponding functional modules, and the details will not be described again here.
[0323] In an embodiment, the communication device 80 is presented in the form of a functional module obtained through division in an integrated manner. A "module" in this specification may be a specific ASIC, circuit, processor and memory executing one or more software or firmware programs, integrated logic circuit, and / or other component capable of providing the aforementioned functionality. In a simple embodiment, a person skilled in the art may realize that the communication device 80 may be in the form shown in FIG. 2.
[0324] For example, the processor 201 in FIG. 2 may invoke computer-executable instructions stored in the memory 203 to enable the communication device 80 to execute the upgrade method in the above-described method embodiments.
[0325] For example, the functions / implementation processes of the receiving module 801 and the transmitting module 802 in FIG. 8 may be implemented by the processor 201 in FIG. 2 by invoking computer-executable instructions stored in the memory 203. Alternatively, the functions / implementation processes of the receiving module 801 and the transmitting module 802 in FIG. 8 may be implemented by the communication interface 204 in FIG.
[0326] The communication device 80 provided in the embodiment can be configured to perform the above-mentioned upgrade method. Therefore, for the technical effects that can be achieved by the communication device, please refer to the above-mentioned method embodiment. Details will not be described again here.
[0327] For example, when the functional modules are obtained through division in an integrated manner, Fig. 9 is a schematic diagram of the structure of the communication device 90. The communication device 90 may be a chip in a server or a system on chip, or another combined device or component that can implement the functions of the server, etc. The communication device 90 may be configured to implement the functions of the server in the above-mentioned embodiments.
[0328] In a possible implementation, the communication device 90 shown in FIG.
[0329] The sending module 901 is configured to send upgrade information of the multiple devices to a telematics box or gateway, the upgrade information of the multiple devices including the upgrade information of the first electronic control unit ECU.
[0330] The processing module 902 is configured to establish a first channel with the first ECU based on the upgrade information of the first ECU.
[0331] The sending module 901 is further configured to send the upgrade package of the first ECU to the first ECU over the first channel.
[0332] Optionally, the first channel is a transport layer security channel, a HyperText Transfer Protocol Secure secure channel or a Datagram Transport Layer Security secure channel.
[0333] Optionally, the processing module 902 is specifically configured to receive first request information from the first ECU. The first request information is used to request to establish a first channel with the communication device 90. The processing module 902 is further specifically configured to send first request response information to the first ECU based on the first request information. The first request response information is used to determine an encryption method for the communication device 90 and the first ECU. The processing module 902 is further specifically configured to receive first completion information from the first ECU. The first completion information is used to indicate that the establishment of the first channel between the first ECU and the communication device 90 is completed. The processing module 902 is further specifically configured to send first completion response information to the first ECU based on the first completion information. The first completion response information is used to indicate that the establishment of the first channel between the first ECU and the communication device 90 is completed.
[0334] Optionally, the upgrade information of the first ECU includes a download address of an upgrade package of the first ECU.
[0335] Optionally, the upgrade information of the first ECU includes indication information, the indication information being used to instruct the first ECU to upgrade.
[0336] The processing module 902 is further configured to sign the upgrade package for the first ECU.
[0337] Optionally, the upgrade information of the plurality of devices further includes an upgrade package of the second ECU.
[0338] All the relevant contents of the operations in the above method embodiments can be cited in the functional description of the corresponding functional modules, and the details will not be described again here.
[0339] In an embodiment, the communication device 90 is presented in the form of a functional module obtained through division in an integrated manner. A "module" in this specification may be a specific ASIC, circuit, processor and memory executing one or more software or firmware programs, integrated logic circuit, and / or other component capable of providing the aforementioned functionality. In a simple embodiment, a person skilled in the art may realize that the communication device 90 may be in the form shown in FIG. 2.
[0340] For example, the processor 201 in FIG. 2 may invoke computer-executable instructions stored in the memory 203 to enable the communication device 90 to execute the upgrade method in the above-described method embodiments.
[0341] For example, the functions / implementation processes of the transmitting module 901 and the processing module 902 in Figure 9 may be implemented by the processor 201 in Figure 2 by invoking computer-executable instructions stored in the memory 203. Alternatively, the functions / implementation processes of the processing module 902 in Figure 9 may be implemented by the processor 201 in Figure 2 by invoking computer-executable instructions stored in the memory 203, and the functions / implementation processes of the transmitting module 901 in Figure 9 may be implemented by the communication interface 204 in Figure 2.
[0342] The communication device 90 provided in the embodiment can be configured to perform the above-mentioned upgrade method. Therefore, for the technical effects that can be achieved by the communication device, please refer to the above-mentioned method embodiment. Details will not be described again here.
[0343] Fig. 10 is a schematic diagram of the configuration of an upgrade system. As shown in Fig. 10, the upgrade system 100 may include a server / cloud 1001, a T-Box / gateway 1002, and an ECU 1003. Please note that Fig. 10 is only an example of the diagram. The devices and the number of devices included in the upgrade system 100 shown in Fig. 10 are not limited in the embodiment of the present application.
[0344] The server / cloud 1001 has the function of the communication device 90 shown in Fig. 9. The server / cloud 1001 may transmit upgrade information of multiple devices to the T-Box / gateway 1002, establish a first channel with the ECU 1003 based on the upgrade information of the ECU 1003, and transmit an upgrade package for the ECU 1003 to the ECU 1003 through the first channel.
[0345] The T-Box / gateway 1002 has the functionality of the communication device 80 shown in Fig. 8. The T-Box / gateway 1002 can receive upgrade information for multiple devices from the server / cloud 1001, and transmit the upgrade information for the ECU 1003 to the ECU 1003 based on the upgrade information for the ECU 1003.
[0346] The ECU 1003 has the function of the communication device 70 shown in Fig. 7. The ECU 1003 may receive upgrade information of the ECU 1003 from the T-Box / gateway 1002, establish a first channel with the server / cloud 1001 based on the upgrade information of the ECU 1003, receive an upgrade package of the ECU 1003 from the server / cloud 1001 through the first channel, and perform an upgrade based on the upgrade package of the ECU 1003.
[0347] It should be noted that all relevant contents of the steps in the above method embodiments may be cited in the functional description of the corresponding network elements of the upgrade system 100. Details will not be described again here.
[0348] All or some of the above-mentioned embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When a software program is used to implement the above-mentioned embodiments, all or some of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or some of the procedures or functions according to the embodiments of the present application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio wave, or microwave) methods. The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device, such as a server or a data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
[0349] Although the present application has been described with reference to all embodiments herein, in the process of implementing the claimed application, a person skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the accompanying drawings, the disclosure and the appended claims. In the claims, "comprising" does not exclude other components or operations, and "a" or "one" does not exclude a plurality. A single processor or other unit may implement several functions recited in the claims. Although several measures are recited in mutually different dependent claims, this does not mean that a combination of these measures cannot produce significant effects.
[0350] Although the present application has been described with reference to specific features and all of its embodiments, it is clear that various modifications and combinations can be made thereto without departing from the scope of the present application. Correspondingly, this specification and the accompanying drawings are merely exemplary descriptions of the present application as defined by the appended claims, and any or all of the modifications, variations, combinations or equivalents that fall within the scope of the present application are considered to be included. It is clear that a person skilled in the art can make various modifications and variations to the present application without departing from the scope of the present application. The present application is intended to include such modifications and variations, provided that the modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies. [Other possible items] (Item 1) 1. An upgrade method applied to a first device, comprising: receiving upgrade information for the first device from a wireless OTA node; establishing a first channel with a server based on the upgrade information of the first device; receiving an upgrade package for the first device from the server over the first channel; performing an upgrade based on the upgrade package of the first device; A method comprising: (Item 2) 2. The method of claim 1, wherein the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure secure channel, or a Datagram Transport Layer Security secure channel. (Item 3) The step of establishing a first channel with a server based on the upgrade information of the first device includes: sending first request information to the server, the first request information being used to request establishing the first channel with the server; receiving first request response information from the server, the first request response information being used to determine an encryption scheme for the server and the first device; sending first completion information to the server, the first completion information being used to indicate that the establishment of the first channel between the first device and the server is completed; receiving first completion response information from the server, the first completion response information being used to indicate that establishment of the first channel between the first device and the server is complete; having The method according to item 1 or 2. (Item 4) 4. The method according to any one of items 1 to 3, wherein the upgrade information of the first device includes a download address of the upgrade package of the first device. (Item 5) 4. The method according to any one of items 1 to 3, wherein the upgrade information of the first device includes indication information, and the indication information is used to instruct the first device to upgrade. (Item 6) The step of performing an upgrade based on the upgrade package of the first device includes: performing an upgrade based on the upgrade package of the first device after a signature of the upgrade package of the first device is successfully verified; having 6. The method according to any one of items 1 to 5. (Item 7) 7. The method according to any one of items 1 to 6, wherein the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 8) An upgrade method applied to a wireless OTA node, comprising: receiving upgrade information of a plurality of devices from a server, the upgrade information of the plurality of devices including upgrade information of a first device, the upgrade information of the first device being used to instruct the first device to establish a first channel with the server; transmitting the upgrade information of the first device to the first device based on the upgrade information of the first device; A method comprising: (Item 9) 9. The method of claim 8, wherein the first channel is a transport layer security channel, a HyperText Transfer Protocol Secure secure channel, or a Datagram Transport Layer Security secure channel. (Item 10) 10. The method according to claim 8 or 9, wherein the upgrade information of the first device includes a download address of an upgrade package of the first device. (Item 11) 10. The method according to item 8 or 9, wherein the upgrade information of the first device includes indication information, and the indication information is used to instruct the first device to upgrade. (Item 12) The upgrade information of the plurality of devices further includes an upgrade package of a second device, and the method further comprises: transmitting the upgrade package of the second device to the second device; 12. The method of any one of items 8 to 11, further comprising: (Item 13) 13. The method according to any one of items 8 to 12, wherein the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 14) Item 13. The method according to item 12, wherein the second device is different from the first device, and the second device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 15) 1. An upgrade method applied to a server, comprising: transmitting upgrade information of a plurality of devices to a wireless OTA node, the upgrade information of the plurality of devices including upgrade information of a first device; establishing a first channel with the first device based on the upgrade information of the first device; transmitting an upgrade package of the first device to the first device via the first channel; A method comprising: (Item 16) Item 16. The method of item 15, wherein the first channel is a transport layer security channel, a HyperText Transfer Protocol Secure secure channel, or a Datagram Transport Layer Security secure channel. (Item 17) The step of establishing the first channel with the first device based on the upgrade information of the first device includes: receiving first request information from the first device, the first request information being used to request establishing the first channel with the server; sending first request response information to the first device based on the first request information, the first request response information being used to determine an encryption scheme for the server and the first device; receiving first completion information from the first device, the first completion information being used to indicate that establishment of the first channel between the first device and the server is completed; sending first completion response information to the first device based on the first completion information, the first completion response information being used to indicate that the establishment of the first channel between the first device and the server has been completed; having 17. The method according to item 15 or 16. (Item 18) 18. The method according to any one of items 15 to 17, wherein the upgrade information of the first device includes a download address of the upgrade package of the first device. (Item 19) 18. The method according to any one of items 15 to 17, wherein the upgrade information of the first device includes indication information, and the indication information is used to instruct the first device to upgrade. (Item 20) 20. The method of any one of items 15 to 19, further comprising signing the upgrade package of the first device. (Item 21) 21. The method of any one of items 15 to 20, wherein the upgrade information of the plurality of devices further includes an upgrade package of a second device. (Item 22) 22. The method according to any one of items 15 to 21, wherein the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 23) 22. The method according to claim 21, wherein the second device is different from the first device, and the second device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 24) A communication device comprising a receiving module and a processing module, The receiving module is configured to receive upgrade information for the communication device from a wireless OTA node; the processing module is configured to establish a first channel with a server based on the upgrade information of the communication device; the receiving module is further configured to receive an upgrade package for the communication device from the server over the first channel; The processing module is further configured to perform an upgrade based on the upgrade package of the communication device. Communications equipment. (Item 25) 25. The communication device of item 24, wherein the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure channel or a Datagram Transport Layer Security secure channel. (Item 26) The processing module is specifically configured to send first request information to the server, the first request information being used to request the establishment of the first channel with the server; The processing module is further specifically configured to receive first request response information from the server, the first request response information being used to determine an encryption scheme for the server and the communication device; The processing module is further specifically configured to send first completion information to the server, the first completion information being used to indicate that the establishment of the first channel between the communication device and the server is completed; The processing module is further specifically configured to receive first completion response information from the server, the first completion response information being used to indicate that the establishment of the first channel between the communication device and the server is completed. 26. A communication device according to item 24 or 25. (Item 27) 27. A communication device according to any one of items 24 to 26, wherein the upgrade information of the communication device includes a download address of the upgrade package for the communication device. (Item 28) 27. A communication device according to any one of items 24 to 26, wherein the upgrade information of the communication device includes indication information, the indication information being used to instruct the communication device to be upgraded. (Item 29) The processing module is specifically configured to perform an upgrade based on the upgrade package of the communication device after a signature of the upgrade package of the communication device is successfully verified. 29. A communication device according to any one of items 24 to 28. (Item 30) 30. The communication device according to any one of items 24 to 29, wherein the communication device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 31) A communication device comprising a receiving module and a transmitting module, the receiving module is configured to receive upgrade information of a plurality of devices from a server, the upgrade information of the plurality of devices including upgrade information of a first device, the upgrade information of the first device being used to instruct the first device to establish a first channel with the server; The transmission module is configured to transmit the upgrade information of the first device to the first device based on the upgrade information of the first device. Communications equipment. (Item 32) Item 32. The communication device of item 31, wherein the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure channel, or a Datagram Transport Layer Security secure channel. (Item 33) 33. The communication device of item 31 or 32, wherein the upgrade information of the first device includes a download address of an upgrade package for the first device. (Item 34) 33. The communication device according to item 31 or 32, wherein the upgrade information of the first device includes indication information, and the indication information is used to instruct the first device to upgrade. (Item 35) The upgrade information of the plurality of devices further includes an upgrade package of a second device; the transmission module is further configured to transmit the upgrade package of the second device to the second device. 35. A communication device according to any one of items 31 to 34. (Item 36) 36. The communication device according to any one of items 31 to 35, wherein the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 37) Item 36. The communication device of item 35, wherein the second device is different from the first device, and the second device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 38) A communication device comprising a transmission module and a processing module, The sending module is configured to send upgrade information of a plurality of devices to an OTA node, the upgrade information of the plurality of devices including upgrade information of a first device; the processing module is configured to establish a first channel with the first device based on the upgrade information of the first device; the transmission module is further configured to transmit an upgrade package of the first device to the first device over the first channel. Communications equipment. (Item 39) Item 39. The communication device of item 38, wherein the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure channel, or a Datagram Transport Layer Security secure channel. (Item 40) The processing module is specifically configured to receive first request information from the first device, the first request information being used to request the establishment of the first channel with the communication device; The processing module is further specifically configured to send first request response information to the first device based on the first request information, the first request response information being used to determine an encryption scheme for the communication device and the first device; The processing module is further specifically configured to receive first completion information from the first device, the first completion information being used to indicate that the establishment of the first channel between the first device and the communication device is completed; The processing module is further specifically configured to send first completion response information to the first device based on the first completion information, the first completion response information being used to indicate that the establishment of the first channel between the first device and the communication device is completed. 40. A communication device according to item 38 or 39. (Item 41) 41. The communication device of any one of items 38 to 40, wherein the upgrade information of the first device includes a download address of the upgrade package of the first device. (Item 42) A communication device according to any one of items 38 to 40, wherein the upgrade information of the first device includes indication information, the indication information being used to instruct the first device to be upgraded. (Item 43) The processing module is further configured to sign the upgrade package of the first device. 43. A communication device according to any one of items 38 to 42. (Item 44) 44. The communication device of any one of items 38 to 43, wherein the upgrade information of the plurality of devices further includes an upgrade package for a second device. (Item 45) 45. The communication device according to any one of items 38 to 44, wherein the first device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 46) Item 45. The communication device of item 44, wherein the second device is different from the first device, and the second device is an electronic control unit ECU, a gateway, a domain controller or a telematics box. (Item 47) A communication device comprising at least one processor and a memory, The memory stores program instructions, which are executed by the at least one processor to implement a function of the first device in the method according to any one of items 1 to 7, a function of the OTA node in the method according to any one of items 8 to 14, or a function of the server in the method according to any one of items 15 to 23. Communications equipment. (Item 48) A computer-readable storage medium having stored thereon program instructions, which, when executed, implement the functionality of the first device in the method according to any one of items 1 to 7, the functionality of the OTA node in the method according to any one of items 8 to 14, or the functionality of the server in the method according to any one of items 15 to 23.
Claims
1. 1. An upgrade method applied to a first device, comprising: receiving upgrade information of the first device from an over-the-air (OTA) node, the OTA node being deployed in a device in a vehicle, the OTA node being configured to receive upgrade information of a plurality of devices including the first device from a server, the upgrade information of the plurality of devices including the first device being verified by the device in which the OTA node is deployed; establishing a first channel with the server based on the upgrade information of the first device; receiving an upgrade package for the first device from the server over the first channel; performing an upgrade based on the upgrade package of the first device; A method comprising:
2. 2. The method of claim 1, wherein the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure secure channel, or a Datagram Transport Layer Security secure channel.
3. The step of establishing a first channel with a server based on the upgrade information of the first device includes: sending first request information to the server, the first request information being used to request establishing the first channel with the server; receiving first request response information from the server, the first request response information being used to determine an encryption scheme for the server and the first device; sending first completion information to the server, the first completion information being used to indicate that the establishment of the first channel between the first device and the server is completed; receiving a first completion response information from the server, the first completion response information being used to indicate that establishment of the first channel between the first device and the server is complete; having The method according to claim 1 or 2.
4. The method of claim 1 , wherein the upgrade information of the first device includes a download address of the upgrade package of the first device.
5. 4. The method according to claim 1, wherein the upgrade information of the first device includes indication information, the indication information being used to instruct the first device to upgrade, and the first device does not download the upgrade package of the first device through the OTA node.
6. An upgrade method applied to an over-the-air (OTA) node, comprising: receiving upgrade information of a plurality of devices including a first device from a server, the upgrade information of the plurality of devices including upgrade information of the first device, the upgrade information of the first device being used to instruct the first device to establish a first channel with the server, the OTA node being deployed in a device in a vehicle; transmitting the upgrade information of the first device to the first device based on the upgrade information of the first device, the upgrade information of the plurality of devices including the first device being verified by the device on which the OTA node is deployed; A method comprising:
7. The method of claim 6 , wherein the upgrade information of the first device includes a download address of an upgrade package for the first device.
8. 7. The method of claim 6, wherein the upgrade information of the first device includes indication information, the indication information being used to instruct the first device to upgrade, and the first device does not download the upgrade package of the first device through the OTA node.
9. 9. The method according to claim 6, wherein if the OTA node fails to verify the upgrade information of the first device, the OTA node sends a verification failure information to the server, the verification failure information being used to indicate that the OTA node has failed to perform a verification.
10. 1. An upgrade method applied to a server, comprising: transmitting upgrade information of a plurality of devices including a first device to an over-the-air (OTA) node, the upgrade information of the plurality of devices including the first device, the OTA node being deployed in a device in a vehicle, the upgrade information of the plurality of devices including the first device being verified by the device in which the OTA node is deployed; establishing a first channel with the first device based on the upgrade information of the first device; transmitting an upgrade package of the first device to the first device over the first channel; A method comprising:
11. The step of establishing the first channel with the first device based on the upgrade information of the first device includes: receiving first request information from the first device, the first request information being used to request establishing the first channel with the server; transmitting first request response information to the first device based on the first request information, the first request response information being used to determine an encryption scheme for the server and the first device; receiving first completion information from the first device, the first completion information being used to indicate that establishment of the first channel between the first device and the server is complete; transmitting first completion response information to the first device based on the first completion information, the first completion response information being used to indicate that the establishment of the first channel between the first device and the server has been completed; having The method of claim 10.
12. The method according to claim 10 or 11, wherein the upgrade information of the first device includes a download address of the upgrade package of the first device.
13. The method according to claim 10 or 11, wherein the upgrade information of the first device includes indication information, the indication information being used to instruct the first device to upgrade, and the first device does not download the upgrade package of the first device through the OTA node.
14. A communication device comprising a receiving module and a processing module, The receiving module is configured to receive upgrade information of the communication device from an over-the-air (OTA) node, the OTA node being deployed in a device in a vehicle, the OTA node being configured to receive upgrade information of a plurality of devices including the communication device from a server, the upgrade information of the plurality of devices including the communication device being verified by the device in which the OTA node is deployed; The processing module is configured to establish a first channel with the server based on the upgrade information of the communication device; the receiving module is further configured to receive an upgrade package for the communication device from the server over the first channel; The processing module is further configured to perform an upgrade based on the upgrade package of the communication device. Communications equipment.
15. 15. The communication device of claim 14, wherein the first channel is a Transport Layer Security channel, a HyperText Transfer Protocol Secure secure channel, or a Datagram Transport Layer Security secure channel.
16. The processing module is configured to send first request information to the server, the first request information being used to request the establishment of the first channel with the server; The processing module is further configured to receive first request response information from the server, the first request response information being used to determine an encryption scheme for the server and the communication device; The processing module is further configured to send first completion information to the server, the first completion information being used to indicate that the establishment of the first channel between the communication device and the server is completed; The processing module is further configured to receive first completion response information from the server, the first completion response information being used to indicate that the establishment of the first channel between the communication device and the server is completed.
16. A communication device according to claim 14 or 15.
17. 17. The communication device of claim 14, wherein the upgrade information of the communication device comprises a download address of the upgrade package for the communication device.
18. 17. The communication device of claim 14, wherein the upgrade information of the communication device includes indication information, the indication information being used to instruct the communication device to upgrade, and the communication device does not download the upgrade package of the communication device through the OTA node.
19. A communication device comprising a receiving module and a transmitting module, The receiving module is configured to receive upgrade information of a plurality of devices including a first device from a server, the upgrade information of the plurality of devices including the upgrade information of the first device, the upgrade information of the first device being used to instruct the first device to establish a first channel with the server, and the communication device is deployed in a device in a vehicle; The transmission module is configured to transmit the upgrade information of the first device to the first device based on the upgrade information of the first device, and the upgrade information of the plurality of devices including the first device is verified by the device in which the communication device is deployed. Communications equipment.
20. 20. The communication device of claim 19, wherein the upgrade information of the first device includes a download address of an upgrade package for the first device.
21. 20. The communication device of claim 19, wherein the upgrade information of the first device includes indication information, the indication information being used to instruct the first device to upgrade, and the first device does not download the upgrade package of the first device through the communication device.
22. 22. The communication device of claim 19, wherein if the communication device fails to verify the upgrade information of the first device, the communication device sends verification failure information to the server, and the verification failure information is used to indicate that the communication device has failed to perform the verification.
23. A communication device comprising a transmission module and a processing module, the transmission module is configured to transmit upgrade information of a plurality of devices including a first device to an OTA node, the upgrade information of the plurality of devices including the first device, the OTA node being deployed in a device in a vehicle, the upgrade information of the plurality of devices including the first device being verified by the device in which the OTA node is deployed; the processing module is configured to establish a first channel with the first device based on the upgrade information of the first device; the transmission module is further configured to transmit an upgrade package of the first device to the first device over the first channel. Communications equipment.
24. The processing module is configured to receive first request information from the first device, the first request information being used to request establishing the first channel with the communication device; The processing module is further configured to send first request response information to the first device based on the first request information, the first request response information being used to determine an encryption scheme for the communication device and the first device; The processing module is further configured to receive first completion information from the first device, the first completion information being used to indicate that the establishment of the first channel between the first device and the communication device is completed; The processing module is further configured to send first completion response information to the first device based on the first completion information, the first completion response information being used to indicate that the establishment of the first channel between the first device and the communication device is completed.
24. The communication device of claim 23.
25. 25. The communication device of claim 23 or 24, wherein the upgrade information of the first device includes a download address of the upgrade package of the first device.
26. 25. The communication device of claim 23 or 24, wherein the upgrade information of the first device includes indication information, the indication information being used to instruct the first device to upgrade, and the first device does not download the upgrade package of the first device through the OTA node.
27. A communications device comprising at least one processor and a memory, The memory stores program instructions, which are executed by the at least one processor to implement the functionality of the first device in the method of any one of claims 1 to 5, the functionality of the over-the-air (OTA) node in the method of any one of claims 6 to 9, or the functionality of the server in the method of any one of claims 10 to 13. Communications equipment.
28. A computer program product for causing a processor to carry out the method according to any one of claims 1 to 5, the method according to any one of claims 6 to 9 or the method according to any one of claims 10 to 13.
Citation Information
Patent Citations
Laminated film chip capacitor
JP1988076312A
Image forming system, image forming apparatus, storage device, and communication control method and program
JP2006313495A
Vehicle connection location regional software delivery
US20170315797A1
Vehicle-mounted device upgrading method and related device
WO2019083440A2