Remote upgrading method, upgrading controller and upgrading system for vehicle software
By obtaining the configuration characters of the entire vehicle and controller, determining the key level and version, and using a longer key to unlock the controller, the problem of insufficient controller key security is solved, and the security and accuracy of the vehicle upgrade process are improved.
Patent Information
- Application Number
- CN202510894298.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-09-30
AI Technical Summary
The existing technology lacks sufficient security for the vehicle controller's secret keys, and it is difficult to effectively identify and unlock key components, resulting in security risks during vehicle upgrades.
By obtaining the configuration characters of the entire vehicle, the key level of the entire vehicle is determined, and the key level and version of the controller to be upgraded are determined based on the configuration characters of the controller to be upgraded. A key with a longer byte length is used to unlock it, ensuring the security of the controller upgrade process.
Enhanced security during vehicle controller upgrades, ensuring the controller's software status is normal and avoiding upgrade errors and security risks caused by key level mismatches.
Smart Images

Figure CN120729518A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of automobile software upgrade, and in particular to a remote upgrade method, upgrade controller and upgrade system for vehicle software. Background Art
[0002] In the automotive electronics industry, remote diagnosis and software updates (Firmware Over-The-Air, FOTA) can remotely update and upgrade the firmware (embedded software) of vehicles or other smart devices through wireless networks (such as cellular networks, Wi-Fi, etc.), becoming an important means to improve vehicle performance and service quality.
[0003] When upgrading the controller in a vehicle, the controller must be unlocked first. However, the traditional controller's secret key security is insufficient. For example, the secret key uses 4 bytes, which is not secure enough. Moreover, once the 4-byte secret key is made public, it can be easily modified if the vehicle model enters the market, posing a safety hazard to the vehicle.
[0004] In addition, the vehicle-mounted system HUT (Head Unit Terminal, HUT) serves as the main controller of the FOTA of the entire vehicle. It is responsible for communicating with the cloud server and managing the distribution of upgrade packages for controllers in the vehicle. When the HUT distributes the upgrade software package to the controller to be upgraded, it also needs to unlock other controllers in the vehicle. Therefore, when FOTA upgrades the controller to be upgraded, it is difficult for FOTA to effectively identify and unlock key components. Summary of the Invention
[0005] In view of this, the present application provides a remote upgrade method, upgrade controller and upgrade system for vehicle software, which solves or improves the technical problems in the prior art that the key security factor of the vehicle controller is low and it is difficult to identify and unlock key components during the controller upgrade process.
[0006] As a first aspect of the present application, the present invention provides a method for remotely upgrading vehicle software, comprising:
[0007] Obtaining the configuration characters of the entire vehicle, and determining the key level of the entire vehicle according to the configuration characters of the entire vehicle;
[0008] When it is determined that the version of the controller to be upgraded of the vehicle is the target version according to the first configuration character of the controller to be upgraded, determining the key level of the controller to be upgraded according to the second configuration character of the controller to be upgraded;
[0009] When the key level of the controller to be upgraded is the same as the key level of the entire vehicle, unlocking the controller to be upgraded based on the first key corresponding to the controller to be upgraded;
[0010] The controller to be upgraded is upgraded based on the software package to be upgraded.
[0011] In one embodiment of the present invention, the remote upgrade method further includes:
[0012] When the key level of the controller to be upgraded is different from the key level of the entire vehicle, an early warning message is generated, where the early warning message is used to indicate that an abnormality occurs in the state of the controller to be upgraded.
[0013] In one embodiment of the present invention, the remote upgrade method further includes:
[0014] When it is determined based on the configuration characters of the vehicle's controller to be upgraded that the version level of the controller to be upgraded is lower than the level of the target version, the controller to be upgraded is unlocked based on a second key corresponding to the controller to be upgraded; wherein the byte length of the first key is greater than the byte length of the second key.
[0015] In one embodiment of the present invention, upgrading the controller to be upgraded based on the software package to be upgraded includes:
[0016] Determining whether the software package to be upgraded is the upgrade package corresponding to the controller to be upgraded according to the configuration characters of the controller to be upgraded;
[0017] When the software package to be upgraded is an upgrade package corresponding to the controller to be upgraded, the software to be upgraded is upgraded according to the software package to be upgraded.
[0018] In one embodiment of the present invention, the step of upgrading the software to be upgraded according to the software package to be upgraded includes:
[0019] Obtaining the component number in the software package to be upgraded;
[0020] When the component number matches the software to be upgraded, the controller to be upgraded is upgraded based on the software package to be upgraded.
[0021] In one embodiment of the present invention, the remote upgrade method further includes:
[0022] When the component number does not match the software to be upgraded, the upgrade process ends.
[0023] In one embodiment of the present invention, the remote upgrade method further includes:
[0024] When the software package to be upgraded is not the upgrade package corresponding to the controller to be upgraded, the upgrade process is terminated.
[0025] In one embodiment of the present invention, the key levels include a first level, a second level, and a third level; wherein the length of the key corresponding to the first level is a first length, and the key characters corresponding to the first level are fixed characters; the length of the key corresponding to the second level is a second length, and the key characters corresponding to the second level are fixed characters; the length of the key corresponding to the third level is a third length, and the key characters corresponding to the third level are random characters; wherein the first length is less than the second length, and the first length is less than the third length.
[0026] As a second aspect of the present invention, the present invention further provides a remote upgrade controller for vehicle software, comprising:
[0027] A first determining unit, configured to obtain a configuration character of the entire vehicle and determine a key level of the entire vehicle according to the configuration character of the entire vehicle;
[0028] a second determining unit, configured to, when determining that the version of the controller to be upgraded of the vehicle is a target version according to the first configuration character of the controller to be upgraded, determine the key level of the controller to be upgraded according to the second configuration character of the target version;
[0029] an unlocking unit, configured to unlock the controller to be upgraded based on a first key corresponding to the controller to be upgraded when the key level of the controller to be upgraded matches the key level of the entire vehicle;
[0030] An upgrading unit is configured to upgrade the controller to be upgraded based on the software package to be upgraded.
[0031] As a third aspect of the present invention, the present invention further provides a vehicle software upgrade system, comprising: the remote upgrade controller described above.
[0032] The remote upgrade method of vehicle software provided by the present application indicates the key level of the vehicle by configuring characters for the entire vehicle, and sets the configuration characters of each controller of the entire vehicle to indicate the key of each controller and the corresponding key level. When remotely upgrading the controller of the entire vehicle, the key level of the entire vehicle is first determined according to the configuration characters of the entire vehicle, and then the version of the controller to be upgraded is determined. If the version of the controller to be upgraded is the target version, the key level of the controller to be upgraded is further determined according to the configuration characters of the controller to be upgraded. If the key level of the entire vehicle is the same as the key level of the controller to be upgraded, it means that the software status of the controller to be upgraded is normal, and different unlocking can be performed for different controllers. When the version of the controller is the target, when the key level of the entire vehicle is the second level or the third level, when unlocking the controller to be upgraded, the key with a longer byte length corresponding to the controller to be upgraded (for example, a 16-byte default key or a 16-byte random key) is used to unlock. When the key level of the entire vehicle is the first level, the original key with a shorter byte length is directly switched to a key with a longer byte length to unlock the controller to be upgraded. That is, no matter what the secret key level of the entire vehicle is, the controller to be upgraded can be unlocked by a key with a longer byte length, thereby enhancing the security of the controller upgrade process of the entire vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The above and other purposes, features, and advantages of the present application will become more apparent through a more detailed description of the embodiments of the present application in conjunction with the accompanying drawings. The accompanying drawings are intended to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application and do not constitute a limitation of the present application. In the drawings, the same reference numerals generally represent the same components or steps.
[0034] Figure 1 The figure shows a flow chart of a remote upgrade method for vehicle software provided in one embodiment of the present application.
[0035] Figure 2 Shown is a flow chart of a remote upgrade method for vehicle software provided in another embodiment of the present application.
[0036] Figure 3 Shown is a flow chart of a remote upgrade method for vehicle software provided in another embodiment of the present application.
[0037] Figure 4 Shown is a structural block diagram of a remote upgrade controller for vehicle software provided in one embodiment of the present application.
[0038] Figure 5 Shown is a structural block diagram of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0039] In the description of the application, the meaning of "multiple" is at least two, for example two, three, etc., unless otherwise clearly and specifically limited. In the embodiments of the present application, all directional indications (such as up, down, left, right, front, back, top, bottom ...) are only used to explain the relative position relationship, motion situation, etc. between each component under a certain specific posture (as shown in the drawings). If this specific posture changes, this directional indication also changes accordingly. In addition, the terms "comprise" and "have" and any deformation thereof are intended to cover non-exclusive inclusion. For example, the process, method, system, product or equipment comprising a series of steps or units is not limited to the steps or units listed, but optionally also includes the steps or units not listed, or optionally also includes other steps or units inherent to these processes, methods, products or equipment.
[0040] In addition, references to "embodiments" herein mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of such phrases in various places in the specification does not necessarily refer to the same embodiment, nor does it necessarily refer to independent or alternative embodiments that are mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0041] Application Overview
[0042] As mentioned in the background, existing technologies with shorter keys, such as 4 bytes, have lower security. Therefore, controller keys have been uniformly changed from shorter keys to longer keys, such as 16 bytes. Furthermore, in testing or after-sales scenarios, the keys are encrypted and stored in a DLL file to ensure key security, preventing the controller keys from being directly exposed.
[0043] During the research process, the inventor discovered that the secret keys of all controllers of the entire vehicle are keys with shorter byte lengths, such as 4-byte keys, and the key algorithm also maintains the corresponding algorithm, that is, the secret key level of the entire vehicle is the first level. For this type of vehicle, the entire vehicle can be configured with corresponding configuration characters.
[0044] The secret keys of some controllers in the vehicle are longer in byte length, and the corresponding keys are fixed characters (for example, 16-byte keys, and 16-byte keys are fixed characters). The level of the secret keys of some controllers is the first level described above. That is, the secret key level of this type of vehicle is the second level, but the secret key level of some controllers of this type of vehicle is the first level, and the secret key level of some controllers is the second level.
[0045] For this type of vehicle, you can configure the corresponding configuration characters.
[0046] The secret keys for all controllers in the vehicle are long, and the characters in the corresponding secret keys are randomly set. For example, a 16-byte secret key and the characters in the 16-byte secret key are randomly set. This means that the secret key level for this type of vehicle is level 3. For this type of vehicle, the corresponding configuration characters can be configured.
[0047] By configuring different configuration characters for each type of vehicle, the key level of the vehicle can be determined from the configuration characters of the vehicle. For example, when the configuration character of the vehicle is the first configuration character (for example, ZBL20), the key level of the vehicle can be determined to be the third level, that is, the authentication enhanced diagnosis level, that is, the keys of all controllers of the vehicle are keys with longer byte lengths, and the corresponding characters are randomly set, and the algorithms all support enhanced diagnosis. For example, when the configuration character of the vehicle is the second configuration character (for example, ZBL10), the key level of the vehicle can be determined to be the second level, that is, the default enhanced diagnosis level, that is, the key level of some controllers of the vehicle is the first level, and the key level of some controllers is the second level, that is, some controllers do not support enhanced diagnosis, and some controllers support enhanced diagnosis.
[0048] However, during their research, the inventors discovered that if only the configuration character corresponding to the vehicle configuration indicates the vehicle's key level, and no key is written to each controller in the vehicle, it is still difficult to determine the key of each controller in the vehicle and whether it supports enhanced authentication. For example, if the vehicle configuration character is the third configuration character, but the controller of the vehicle does not have a key with a longer byte length written, it is still uncertain whether the vehicle controller supports enhanced authentication.
[0049] However, if the key level of the entire vehicle is determined only by configuring characters for the entire vehicle, and the number of key bytes of each controller is not indicated by related characters, when FOTA receives the upgrade software package of the controller to be upgraded distributed by HUT, it is difficult to determine whether the key of other controllers is a key with a longer byte length or a key with a shorter byte length, and thus it is uncertain how to unlock it.
[0050] Therefore, a configuration character is set for each controller of the vehicle. For example, if the secret key of the controller is a key with a longer byte length and the corresponding secret key character is a fixed character, then the configuration character of the controller can be the corresponding configured character; if the secret key of the controller is a key with a longer byte length and the corresponding secret key character is randomly set, then the configuration character of the controller can be the corresponding configured character; if the secret key of the controller is a key with a shorter byte length and the corresponding secret key character is a fixed character, then the configuration character of the controller can be the corresponding configured character.
[0051] In this way, the key level of the entire vehicle can be determined based on the configuration characters of the entire vehicle, and then the key and key level of each controller (that is, whether enhanced diagnosis is supported) can be determined based on the configuration characters of each controller. The key of the controller can be determined and the controller can be unlocked according to the corresponding key.
[0052] When the latest version of the vehicle controller is the target version and the version level of the controller in the vehicle is lower than the target version level, the key of each controller in the vehicle controller is a secret key with a shorter byte length. Therefore, no matter how the configuration characters of the vehicle and the configuration characters of each controller are set, the controller with a version level lower than the target version level is unlocked with a secret key with a shorter byte length when unlocking.
[0053] For a vehicle whose controller versions are all target versions, the key level of some vehicles is the first level (i.e., the byte length of the key is shorter, such as a 4-byte key), the key level of some vehicles is the second level (i.e., the byte length of the key is longer, and the corresponding key characters are fixed characters, such as a 16-byte default key), and the key level of some vehicles is the third level (i.e., the byte length of the key is longer, and the corresponding key characters are randomly set, such as a 16-byte random key). Then it is necessary to determine the key level based on the configuration characters of the vehicle. For example, when the configuration characters of the vehicle determine that the key level of the vehicle is the second or third level, the controller's key is a key with a longer byte length, and the controller can be unlocked by the key with a longer byte length corresponding to each controller. When the configuration characters of the vehicle determine that the key level of the vehicle is the first level, the key of the vehicle controller switches the previous key with a shorter byte length to a key with a longer byte length, and the controller is unlocked using the key with a longer byte length.
[0054] In summary, this application indicates the key level of the entire vehicle by configuring characters for the entire vehicle, and sets the configuration characters of each controller of the entire vehicle to indicate the key of each controller and the corresponding key level. When the controller of the entire vehicle is remotely upgraded, the key level of the entire vehicle is first determined based on the configuration characters of the entire vehicle, and then the version of the controller to be upgraded is determined. If the version of the controller to be upgraded is the target version, the key level of the controller to be upgraded is further determined based on the configuration characters of the controller to be upgraded. If the key level of the entire vehicle is the same as the key level of the controller to be upgraded, it means that the software status of the controller to be upgraded is normal, and different unlocking can be performed for different controllers. When the version of the controller is the target, when the key level of the entire vehicle is the second level or the third level, when unlocking the controller to be upgraded, the key with a longer byte length corresponding to the controller to be upgraded (such as a 16-byte default key or a 16-byte random key) is used to unlock. When the key level of the entire vehicle is the first level, the original key with a shorter byte length is directly switched to a key with a longer byte length to unlock the controller to be upgraded. That is, no matter what the secret key level of the entire vehicle is, the controller to be upgraded can be unlocked by a key with a longer byte length, thereby enhancing the security of the controller upgrade process of the entire vehicle.
[0055] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0056] Exemplary Methods
[0057] As a first aspect of the present application, the present application provides a remote upgrade method for vehicle software. Figure 1 FIG. 1 is a flow chart of a remote upgrade method for vehicle software provided by an embodiment of the present application, as shown in FIG. Figure 1 As shown, a remote upgrade method for vehicle software includes the following steps S101 to S108:
[0058] S101: Obtain the configuration characters of the entire vehicle, and determine the key level of the entire vehicle based on the configuration characters of the entire vehicle;
[0059] Specifically, the vehicle is configured with characters to determine the vehicle's key level. Specifically, the vehicle's key level can be divided into 2 levels, 3 levels, or 4 levels.
[0060] For example, if the vehicle's key level is divided into two levels, then two different configuration characters can be used to represent the two different key levels. For example, the configuration character ZBL10 indicates that the vehicle's key level is level 1, with no enhanced diagnostic level, and the corresponding key byte length is the first length, such as a 4-byte key. The configuration character ZBL10 indicates that the vehicle's key level is level 2, with an enhanced diagnostic level, and the corresponding key byte length is the second length. The key characters are fixed characters, where the second length is greater than the first length, such as a 16-byte default key.
[0061] For example, when the key level of the entire vehicle is divided into three levels, then three different configuration characters can be used to represent the three different key levels. For example, the configuration character ZBL10 indicates that the key level of the entire vehicle is the first level, there is no enhanced diagnostic level, and the corresponding byte length of the key is the first length, such as a 4-byte key. The configuration character ZBL10 indicates that the key level of the entire vehicle is the second level, the default enhanced diagnostic level, the corresponding byte length of the key is the second length, and the characters of the key are fixed characters, such as a 16-byte default key. The configuration character ZBL20 indicates that the key level of the entire vehicle is the third level, the corresponding byte length of the key is the third length, and the characters of the key are randomly set, that is, the authentication enhanced diagnostic level, such as a 16-byte random key.
[0062] It should be noted that when the number of secret key levels of the entire vehicle is greater than or equal to 3, the length of the first level is the smallest, and the lengths of other levels may be the same or different. For example, when the secret key level of the entire vehicle is divided into 3 levels, the byte length of the first level is the first length, the byte length of the second level is the second length, and the byte length of the third level is the third length, wherein the second length is equal to the third length, and the second length is greater than the first length.
[0063] Therefore, once the configuration characters of the entire vehicle are obtained, the key level of the entire vehicle can be determined based on the configuration characters.
[0064] S102: Determine whether the version of the controller to be upgraded is the target version according to the first configuration character of the controller to be upgraded;
[0065] Specifically, the target version may be the latest version. Each version of the controller has a corresponding configuration character, for example, the configuration character corresponding to the target version may be TJL10.
[0066] Each controller in the vehicle is configured with a first configuration character corresponding to the version. For example, if the controller version is the target version, the configuration character of the controller is TJL10.
[0067] Therefore, after obtaining the configuration characters of the controller to be upgraded, the version of the controller to be upgraded can be identified according to the first configuration characters of the controller to be upgraded, and whether the version is the target version can be determined.
[0068] When the judgment result of S102 is yes, that is, it is judged according to the first configuration character of the controller to be upgraded that the version of the controller to be upgraded is the target version, S103 is executed.
[0069] When the judgment result of S102 is no, that is, it is judged that the version of the controller to be upgraded is not the target version according to the first configuration character of the controller to be upgraded, then it means that the version level of the controller to be upgraded is lower. At this time, the secret key of the controller to be upgraded is a key with a shorter byte length, then the controller to be upgraded is unlocked based on the secret key with a shorter byte length corresponding to the controller to be upgraded, that is, S108 is executed.
[0070] S103: Determine the key level of the controller to be upgraded according to the second configuration character of the controller to be upgraded;
[0071] Specifically, as described in the application overview, a second configuration character is pre-configured for each controller in the vehicle to indicate the controller's key level. For example, if the second configuration character is E1FF0, it indicates that the key level is the no-enhanced diagnostic level, and the corresponding key is a key with a shorter byte length, such as a 4-byte key; E1FF1 indicates that the key level is the second level, and the corresponding key is a key with a longer byte length, such as a 16-byte default key (i.e., the key for each controller in the vehicle is set to 16 bytes and is fixed by default); E1FF2 indicates that the key level is the third level, and the corresponding key is a key with a longer byte length, such as a 16-byte random key (i.e., the key for each controller in the vehicle is set to 16 bytes and is randomly set).
[0072] Therefore, when it is determined that the version of the controller to be upgraded is the target version, it means that the key level of the controller to be upgraded is not fixed. It may be the first level, the second level, or the third level. Therefore, it is necessary to further judge the key level of the controller to be upgraded based on the second configuration character of the controller to be upgraded.
[0073] For example, when the second configuration character of the controller to be upgraded is E1FF0, it indicates that the key level of the controller to be upgraded is the first level; when the second configuration character of the controller to be upgraded is E1FF1, it indicates that the key level of the controller to be upgraded is the second level.
[0074] S104: Determine whether the key level of the vehicle matches the key level of the controller to be upgraded;
[0075] Through S101 and S103, the key level of the entire vehicle and the key level of the controller to be upgraded can be determined respectively. Then, it is necessary to determine whether the key level of the entire vehicle matches the key level of the controller to be upgraded (for example, whether they are the same). If the judgment result of S104 is yes, it means that the key level of the entire vehicle matches the key level of the controller to be upgraded, indicating that the status of the controller to be upgraded is normal. Then, the controller to be upgraded can be unlocked according to the key of the controller to be upgraded, that is, S105 is executed. For example, if the key level of the entire vehicle is level 1, the key level of the controller to be upgraded is also level 1.
[0076] When the judgment result of S104 is no, it means that the key level of the entire vehicle does not match the key level of the controller to be upgraded, which means that the status of the controller to be upgraded is abnormal. Therefore, an early warning message can be generated, where the early warning message is used to indicate that the status of the controller to be upgraded is abnormal, so as to prompt the user, that is, execute S107.
[0077] S105: Unlocking the controller to be upgraded based on the first key corresponding to the controller to be upgraded;
[0078] When the secret key level of the controller to be upgraded matches the secret key level of the entire vehicle, the controller to be upgraded is unlocked based on the first key corresponding to the controller to be upgraded.
[0079] Specifically, since the key level of the controller to be upgraded is not the same when the version of the controller to be upgraded is the target version, when the key level of the controller to be upgraded is the first level with a lower level, and the key level of the entire vehicle is also the first level with a lower level, then at this time, the original key with a shorter byte length of the controller to be upgraded will be directly switched to a key with a longer byte length to unlock the controller to be upgraded.
[0080] For example, when the key level of the controller to be upgraded and the key level of the entire vehicle are both at the second level, the key with a longer byte length corresponding to the controller to be upgraded is directly used to unlock the controller to be upgraded.
[0081] When the secret key level of the controller to be upgraded and the secret key level of the entire vehicle are at the third level, the secret key with a longer byte length corresponding to the controller to be upgraded is directly used to unlock the controller to be upgraded.
[0082] S106: Upgrading the controller to be upgraded based on the software package to be upgraded.
[0083] After the controller to be upgraded is unlocked, it can be upgraded according to the software package to be upgraded.
[0084] S107: Generate warning information.
[0085] When the judgment result of S104 is no, it means that the key level of the entire vehicle is different from the key level of the controller to be upgraded, which means that the status of the controller to be upgraded is abnormal, and an early warning message is generated, wherein the early warning message is used to indicate that a fault occurs in the controller to be upgraded to prompt the user.
[0086] S108: Unlocking the controller to be upgraded based on a second key corresponding to the controller to be upgraded, wherein the byte length of the first key is greater than the byte length of the second key.
[0087] When the judgment result of S102 is no, that is, it is judged that the version of the controller to be upgraded is not the target version according to the first configuration character of the controller to be upgraded, then it means that the version level of the controller to be upgraded is lower. At this time, the secret key of the controller to be upgraded is a key with a lower byte length, that is, the second secret key. The byte length of the second secret key is smaller than the byte length of the first secret key, for example, a 4-byte key. Then, the controller to be upgraded is unlocked based on the second key corresponding to the controller to be upgraded.
[0088] After the controller to be upgraded is unlocked, the controller to be upgraded can be upgraded based on the software package to be upgraded, that is, S106 is executed.
[0089] This application indicates the key level of the whole vehicle by configuring characters for the whole vehicle, and sets the configuration characters of each controller of the whole vehicle to indicate the key of each controller and the corresponding key level. When the controller of the whole vehicle is remotely upgraded, the key level of the whole vehicle is first determined according to the configuration characters of the whole vehicle, and then the version of the controller to be upgraded is determined. If the version of the controller to be upgraded is the target version, the key level of the controller to be upgraded is further determined according to the configuration characters of the controller to be upgraded. If the key level of the whole vehicle is the same as the key level of the controller to be upgraded, it means that the software status of the controller to be upgraded is normal, and different unlocking can be performed for different controllers. When the version of the controller is the target, when the key level of the whole vehicle is the second level or the third level, when unlocking the controller to be upgraded, the key with a longer byte length corresponding to the controller to be upgraded (such as a 16-byte default key or a 16-byte random key) is used to unlock. When the key level of the whole vehicle is the first level, the original key with a shorter byte length is directly switched to a key with a longer byte length to unlock the controller to be upgraded. That is, no matter what the secret key level of the entire vehicle is, the controller to be upgraded can be unlocked by a key with a longer byte length, thereby enhancing the security of the controller upgrade process of the entire vehicle.
[0090] In one embodiment of the present application, Figure 2 As shown, S106 (upgrading the controller to be upgraded based on the software package to be upgraded) specifically includes the following steps:
[0091] S1061: Determine, based on the configuration characters of the controller to be upgraded, whether the software package to be upgraded is the upgrade package corresponding to the controller to be upgraded;
[0092] When the judgment result of S1061 is yes, that is, the software package to be upgraded is the upgrade package corresponding to the controller to be upgraded, then the controller to be upgraded is upgraded according to the software package to be upgraded, that is, S1062 is executed.
[0093] When the judgment result of S1061 is no, that is, the software package to be upgraded is not the upgrade package corresponding to the controller to be upgraded, then the upgrade process ends, that is, S1063 is executed.
[0094] S1062: Upgrade the controller to be upgraded according to the software package to be upgraded.
[0095] S1063: End the upgrade process.
[0096] When upgrading a controller to be upgraded, the present application first determines whether the software package to be upgraded matches the controller to be upgraded. If they match, the controller to be upgraded is upgraded, thereby improving the upgrade accuracy.
[0097] Optional, such as Figure 3 As shown, S1062 (upgrading the controller to be upgraded according to the software package to be upgraded) further includes the following steps:
[0098] S10621: Get the component number of the software package to be upgraded;
[0099] S10622: Determine whether the part number matches the software to be upgraded;
[0100] Determine whether the component number matches the software to be upgraded. If so, it indicates that the software package to be upgraded corresponds to the component corresponding to the controller to be upgraded. Therefore, the software to be upgraded and the controller to be upgraded are upgraded, that is, S10622 is executed.
[0101] If the judgment result of S10622 is no, it means that the upgrade software package does not correspond to the components of the controller to be upgraded. At this time, the upgrade process is terminated, that is, S1063 is executed to avoid upgrade errors.
[0102] S10623: Upgrade the controller to be upgraded based on the software package to be upgraded.
[0103] As a second aspect of the present invention, the present invention further provides a remote upgrade controller for vehicle software. Figure 4 FIG. 1 is a working block diagram of a remote upgrade controller for vehicle software provided by an embodiment of the present invention. Figure 4 As shown, the remote upgrade controller 10 of the vehicle software includes:
[0104] The first determining unit 11 is used to obtain the configuration characters of the entire vehicle and determine the key level of the entire vehicle according to the configuration characters of the entire vehicle;
[0105] Specifically, the vehicle is configured with characters to determine the vehicle's key level. Specifically, the vehicle's key level can be divided into 2 levels, 3 levels, or 4 levels.
[0106] For example, when the vehicle's key level is divided into three levels, three different configuration characters can be used to represent the three different key levels. For example, the configuration character ZBL10 indicates that the vehicle's key level is the first level, and the corresponding key has a shorter byte length, such as a 4-byte key. The configuration character ZBL10 indicates that the vehicle's key level is the second level, and the corresponding key has a longer byte length, and the key characters are fixed characters, such as a 16-byte default key. The configuration character ZBL20 indicates that the vehicle's key level is the third level, and the corresponding key has a longer byte length, and the key characters are randomly set, such as a 16-byte random key.
[0107] Therefore, once the configuration characters of the entire vehicle are obtained, the key level of the entire vehicle can be determined based on the configuration characters.
[0108] A second determining unit 12 is configured to determine a key level of the controller to be upgraded according to a second configuration character of the target version when the version of the controller to be upgraded is determined to be a target version according to the first configuration character of the controller to be upgraded of the vehicle;
[0109] Specifically, the target version can be the latest version or an intermediate version. Each version of the controller has a corresponding configuration character, for example, the configuration character corresponding to the target version can be TJL10.
[0110] Therefore, after obtaining the configuration characters of the controller to be upgraded, the version of the controller to be upgraded can be identified according to the first configuration characters of the controller to be upgraded, and whether the version is the target version can be determined.
[0111] When it is determined that the version of the controller to be upgraded is the target version, it means that the key level of the controller to be upgraded is not fixed. It may be no enhanced diagnostic level, it may be the default enhanced diagnostic level, or it may be the certified enhanced diagnostic level. Therefore, it is necessary to further judge the key level of the controller to be upgraded based on the second configuration character of the controller to be upgraded.
[0112] A second configuration character is pre-configured for each controller in the vehicle to indicate the controller's key level. For example, a second configuration character of E1FF0 indicates a first-level key, corresponding to a shorter key length, such as a 4-byte key; E1FF1 indicates a second-level key, corresponding to a longer key length, and a fixed key length, such as a 16-byte default key; and E1FF2 indicates a third-level key, corresponding to a longer key length, and a randomly set key length, such as a 16-byte random key.
[0113] an unlocking unit 13, configured to unlock the controller to be upgraded based on a first key corresponding to the controller to be upgraded when the key level of the controller to be upgraded is the same as the key level of the entire vehicle;
[0114] When the version of the controller to be upgraded is the target version, the key levels of the controller to be upgraded are not all the same. Therefore, when the key level of the controller to be upgraded is the first level and the key level of the entire vehicle is also the first level, then at this time, the original key with a shorter byte length (such as a 4-byte key) of the controller to be upgraded will be directly switched to a key with a longer byte length (such as a 16-byte default key or a 16-byte random key) to unlock the controller to be upgraded.
[0115] When the key level of the controller to be upgraded and the key level of the entire vehicle are at the second level, the controller to be upgraded is directly unlocked using a key with a longer byte length corresponding to the controller to be upgraded, such as a 16-byte default key.
[0116] The upgrading unit 14 is configured to upgrade the controller to be upgraded based on the software package to be upgraded.
[0117] The remote upgrade controller for vehicle software provided in this application executes the remote upgrade method for vehicle software described above, and the effect it produces is consistent with the effect of the remote upgrade of vehicle software described above, and will not be repeated here.
[0118] As a third aspect of the present application, the present application also provides a vehicle software upgrade system, including: the remote upgrade controller described above.
[0119] Exemplary electronic devices
[0120] Next, as the third aspect of the present application, the present application further provides an electronic device. Figure 5 To describe the electronic device according to the embodiment of the present application.
[0121] Figure 5 The figure shows a structural block diagram of an electronic device according to an embodiment of the present application.
[0122] like Figure 5 As shown, the electronic device 60 includes one or more processors 601 and a memory 602 .
[0123] The processor 601 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 60 to perform desired functions.
[0124] The memory 602 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory may include, for example, read-only memory (ROM), a hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 601 may execute the program instructions to implement the vehicle software remote upgrade method of each embodiment of the present application described above and / or other desired functions.
[0125] In one example, the electronic device 60 may further include an input device 603 and an output device 604 , and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).
[0126] When the electronic device is a stand-alone device, the input device 603 may be a communication network connector, configured to receive collected input signals from the first device and the second device.
[0127] In addition, the input device 603 may also include, for example, a keyboard, a mouse, etc.
[0128] The output device 604 can output various information to the outside, including determined distance information, direction information, etc. The output device 604 can include, for example, a display, a speaker, a printer, a communication network and its connected remote output device, etc.
[0129] Of course, to simplify, Figure 5 Only some of the components related to the present application in the electronic device 60 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, the electronic device 60 may further include any other appropriate components according to specific application scenarios.
[0130] As a fifth aspect of the present application, the present application provides a computer-readable storage medium, which stores a computer program, and the computer program is used to execute the steps in a remote upgrade method of vehicle software in each of the above embodiments.
[0131] Computer readable storage media can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can, for example, include but is not limited to a system, device or component of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0132] In addition to the above-mentioned methods and devices, an embodiment of the present application may also be a computer program product, which includes computer program information, which, when executed by a processor, enables the processor to execute the steps of a remote upgrade method for vehicle software in various embodiments of the present application.
[0133] The computer program product may be written in any combination of one or more programming languages to implement the program code for performing the operations of the embodiments of the present application, including object-oriented programming languages such as Java, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0134] The basic principles of the present application have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this application are merely illustrative and not restrictive, and it should not be assumed that these advantages, strengths, and effects are required of each embodiment of this application. In addition, the specific details disclosed above are merely illustrative and facilitating understanding, and are not restrictive. The above details do not limit this application to necessarily being implemented using the above specific details.
[0135] The block diagrams of the devices, devices, equipment, and systems involved in this application are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, or configured in any manner. Words such as "include," "comprise," "have," and the like are open-ended words, meaning "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or" and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.
[0136] It should also be noted that in the apparatus, device, and method of the present application, each component or each step can be decomposed and / or recombined, and such decomposition and / or recombination should be regarded as equivalent solutions of the present application.
Claims
1. A remote upgrade method for vehicle software, characterized in that: include: Obtaining the configuration characters of the entire vehicle, and determining the key level of the entire vehicle according to the configuration characters of the entire vehicle; When it is determined that the version of the controller to be upgraded of the vehicle is the target version according to the first configuration character of the controller to be upgraded, determining the key level of the controller to be upgraded according to the second configuration character of the controller to be upgraded; When the key level of the controller to be upgraded matches the key level of the entire vehicle, unlocking the controller to be upgraded based on the first key corresponding to the controller to be upgraded; The controller to be upgraded is upgraded based on the software package to be upgraded.
2. The remote upgrade method for vehicle software according to claim 1, characterized in that: Also includes: When the key level of the controller to be upgraded is different from the key level of the entire vehicle, an early warning message is generated, where the early warning message is used to indicate that an abnormality occurs in the state of the controller to be upgraded.
3. The remote upgrade method for vehicle software according to claim 1, characterized in that: Also includes: When it is determined according to the configuration characters of the controller to be upgraded of the vehicle that the version level of the controller to be upgraded is lower than the level of the target version, unlocking the controller to be upgraded based on a second secret key corresponding to the controller to be upgraded; The byte length of the first key is greater than the byte length of the second key.
4. The remote upgrade method for vehicle software according to claim 1, characterized in that: Upgrading the controller to be upgraded based on the software package to be upgraded includes: Determining whether the software package to be upgraded is the upgrade package corresponding to the controller to be upgraded according to the configuration characters of the controller to be upgraded; When the software package to be upgraded is an upgrade package corresponding to the controller to be upgraded, the software to be upgraded is upgraded according to the software package to be upgraded.
5. The remote upgrade method for vehicle software according to claim 4, characterized in that: The step of upgrading the software to be upgraded according to the software package to be upgraded includes: Obtaining the component number in the software package to be upgraded; When the component number matches the software to be upgraded, the controller to be upgraded is upgraded based on the software package to be upgraded.
6. The remote upgrade method for vehicle software according to claim 5, characterized in that: Also includes: When the component number does not match the software to be upgraded, the upgrade process ends.
7. The remote upgrade method for vehicle software according to claim 4, characterized in that: Also includes: When the software package to be upgraded is not the upgrade package corresponding to the controller to be upgraded, the upgrade process is terminated.
8. The remote upgrade method for vehicle software according to claim 1, characterized in that: The secret key levels include the first level, the second level and the third level; The length of the secret key corresponding to the first level is a first length, and the secret key characters corresponding to the first level are fixed characters; the length of the secret key corresponding to the second level is a second length, and the secret key characters corresponding to the second level are fixed characters; the length of the secret key corresponding to the third level is a third length, and the secret key characters corresponding to the third level are random characters; The first length is smaller than the second length, and the first length is smaller than the third length.
9. A remote upgrade controller for vehicle software, characterized in that: include: A first determining unit, configured to obtain a configuration character of the entire vehicle and determine a key level of the entire vehicle according to the configuration character of the entire vehicle; a second determining unit, configured to, when determining that the version of the controller to be upgraded of the vehicle is a target version according to the first configuration character of the controller to be upgraded, determine the key level of the controller to be upgraded according to the second configuration character of the target version; an unlocking unit, configured to unlock the controller to be upgraded based on a first key corresponding to the controller to be upgraded when the key level of the controller to be upgraded matches the key level of the entire vehicle; An upgrading unit is configured to upgrade the controller to be upgraded based on the software package to be upgraded.
10. A vehicle software upgrade system, characterized in that: include: The remote upgrade controller according to claim 9.