CN110727455A - Software remote upgrading method and related equipment - Google Patents

Software remote upgrading method and related equipment Download PDF

Info

Publication number
CN110727455A
CN110727455A CN201910865415.8A CN201910865415A CN110727455A CN 110727455 A CN110727455 A CN 110727455A CN 201910865415 A CN201910865415 A CN 201910865415A CN 110727455 A CN110727455 A CN 110727455A
Authority
CN
China
Prior art keywords
software
signature value
upgrading
package
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910865415.8A
Other languages
Chinese (zh)
Inventor
刘均
罗勇波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN201910865415.8A priority Critical patent/CN110727455A/en
Publication of CN110727455A publication Critical patent/CN110727455A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

The application discloses a software remote upgrading method and related equipment, which are applied to vehicle-mounted equipment, wherein the method comprises the following steps: receiving a first upgrading packet sent by an upgrading server; decrypting the first upgrade package based on a preset decryption algorithm to obtain a first software package, a first signature value and a first device type; determining a second signature value based on the first software package; if the first signature value and the second signature value are successfully matched and the first equipment type and the equipment type of the vehicle-mounted equipment are successfully matched, the first software is upgraded based on the first software package, and the software on the vehicle-mounted equipment can be upgraded quickly and safely by adopting the embodiment of the application.

Description

Software remote upgrading method and related equipment
Technical Field
The application relates to the technical field of automobiles, in particular to a software remote upgrading method and related equipment.
Background
With the development of electronic technology, automobiles are also more and more intelligent. More and more vehicle-mounted devices are provided with system software similar to the mobile terminal, can support most of application software such as games, social contact and travel, and provide experience similar to the mobile terminal. Over time, both the system software and the application software described above require iterative updates. The existing updating mode is usually an offline maintenance point, and field upgrading is carried out, so that the mode is complicated and inconvenient.
Disclosure of Invention
The embodiment of the application provides a remote software upgrading method and related equipment, which are used for rapidly and safely upgrading software on vehicle-mounted equipment.
In a first aspect, an embodiment of the present application provides a method for remotely upgrading software, which is applied to a vehicle-mounted device, and the method includes:
receiving a first upgrading packet sent by an upgrading server, wherein the first upgrading packet is used for upgrading first software;
decrypting the first upgrade package based on a preset decryption algorithm to obtain a first software package, a first signature value and a first device type;
determining a second signature value based on the first software package;
and if the first signature value and the second signature value are successfully matched and the first equipment type and the equipment type of the vehicle-mounted equipment are successfully matched, upgrading the first software based on the first software package.
In a first possible implementation manner, before receiving the first upgrade package sent by the upgrade server, the method further includes:
and establishing connection with the upgrading server through a network channel, wherein the encryption mode of the network channel is a Secure Socket Layer (SSL) encryption mode.
In a second possible implementation manner, based on the first aspect or the first possible implementation manner of the first aspect, the decrypting the first upgrade package based on a preset decryption algorithm includes:
determining a first parameter based on a first private key;
determining an encryption function based on the first parameter;
carrying out inverse transformation on the encryption function to obtain a decryption function;
decrypting the first upgrade package based on the decryption function.
In a third possible implementation manner of the first aspect as such or according to the first possible implementation manner of the first aspect, the determining a second signature value based on the first software package includes:
determining a first string based on the first software package;
converting the first character string into a first hash value based on a preset hash function;
the first hash value is taken as a second signature value.
Based on the first aspect or the first possible implementation manner, the second possible implementation manner, or the third possible implementation manner of the first aspect, in a fourth possible implementation manner, the preset decryption algorithm and the preset hash function are burned into a hardware encryption chip of the vehicle-mounted device by a production tool in a process of producing the vehicle-mounted device.
In a fifth possible implementation manner, based on the first aspect or the first possible implementation manner, the first upgrade package is obtained by encrypting the first software package through a preset encryption algorithm by the compiling server, where the preset encryption algorithm is associated with the preset decryption algorithm.
In a sixth possible implementation manner, based on the first aspect or the first possible or the second possible or the third possible or the fourth possible or the fifth possible implementation manner of the first aspect, the first upgrade package includes at least six parts of the following: a total length, a timestamp, the first device type, a software version, the first signature value, the first software package, a check code.
In a second aspect, an embodiment of the present application provides a software remote upgrading apparatus, which is applied to a vehicle-mounted device, and the apparatus includes:
the information receiving unit is used for receiving a first upgrading packet sent by an upgrading server, and the first upgrading packet is used for upgrading first software;
the information decryption unit is used for decrypting the first upgrading packet based on a preset decryption algorithm to obtain a first software packet, a first signature value and a first equipment type;
a signature value determination unit for determining a second signature value based on the first software package;
and the software upgrading unit is used for upgrading the first software based on the first software package if the first signature value is successfully matched with the second signature value and the first equipment type is successfully matched with the equipment type of the vehicle-mounted equipment.
In a first possible implementation manner, before receiving the first upgrade package sent by the upgrade server, the apparatus further includes:
and the connection establishing unit is used for establishing connection with the upgrading server through a network channel, and the encryption mode of the network channel is a Secure Socket Layer (SSL) encryption mode.
In a second possible implementation manner, where the first upgrade package is decrypted based on a preset decryption algorithm, the information decryption unit is specifically configured to:
determining a first parameter based on a first private key;
determining an encryption function based on the first parameter;
carrying out inverse transformation on the encryption function to obtain a decryption function;
decrypting the first upgrade package based on the decryption function.
In a third possible implementation manner, based on the second aspect or the first possible implementation manner of the second aspect, the determining a second signature value based on the first software package is specifically configured to:
determining a first string based on the first software package;
converting the first character string into a first hash value based on a preset hash function;
the first hash value is taken as a second signature value.
In a fourth possible implementation manner, based on the second aspect or the first possible implementation manner, the preset decryption algorithm and the preset hash function are burned into a hardware encryption chip of the vehicle-mounted device by a production tool during a process of producing the vehicle-mounted device.
In a fifth possible implementation manner, based on the second aspect or the first possible implementation manner, the first upgrade package is obtained by encrypting the first software package by a compilation server through a preset encryption algorithm, and the preset encryption algorithm is associated with the preset decryption algorithm.
In a sixth possible implementation manner, based on the second aspect or the first possible or the second or the third possible or the fourth possible or the fifth possible implementation manner of the second aspect, the first upgrade package includes at least six parts of the following: a total length, a timestamp, the first device type, a software version, the first signature value, the first software package, a check code.
In a third aspect, embodiments of the present application provide an in-vehicle device, which includes a processor, a memory, a communication interface, and one or more programs stored in the memory and configured to be executed by the processor, where the programs include instructions for performing some or all of the steps described in the method according to the first aspect of the embodiments of the present application.
In a fourth aspect, the present application provides a computer-readable storage medium, where the computer-readable storage medium is used to store a computer program, where the computer program is executed by a processor to implement part or all of the steps described in the method according to the first aspect of the present application.
In a fifth aspect, the present application provides a computer program product, where the computer program product includes a non-transitory computer-readable storage medium storing a computer program, where the computer program is operable to cause a computer to perform some or all of the steps described in the method according to the first aspect of the present application. The computer program product may be a software installation package.
It can be seen that, in the embodiment of the application, the vehicle-mounted device first receives the first upgrade package sent by the upgrade server; then, the first upgrade package is decrypted based on a preset decryption algorithm to obtain a first software package, a first signature value and a first equipment type, and a second signature value is determined based on the first software package; if the first signature value is successfully matched with the second signature value and the first equipment type is successfully matched with the equipment type of the vehicle-mounted equipment, the first software is upgraded based on the first software package, so that the software of the vehicle-mounted equipment is upgraded remotely without going offline to a maintenance point, and the upgrading is convenient and quick; and secondly, the software is upgraded only when the upgrade package is decrypted successfully and the signature value and the equipment type are matched successfully, and the software is protected in multiple ways, so that the safety upgrade of the software is ensured.
These and other aspects of the present application will be more readily apparent from the following description of the embodiments.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a network architecture diagram of a software remote upgrade system according to an embodiment of the present disclosure;
fig. 2 is a schematic flowchart of a method for remotely upgrading software according to an embodiment of the present application;
FIG. 3 is a schematic flowchart of another software remote upgrade method provided in an embodiment of the present application;
FIG. 4 is a schematic structural diagram of an in-vehicle device provided in an embodiment of the present application;
fig. 5 is a schematic structural diagram of a software remote upgrading device according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The following are detailed below.
The terms "first," "second," "third," and "fourth," etc. in the description and claims of this application and in the accompanying drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
Hereinafter, some terms in the present application are explained to facilitate understanding by those skilled in the art.
Referring to fig. 1, fig. 1 is a network architecture diagram of a software remote upgrade system provided in an embodiment of the present application, where the software remote upgrade system may include an in-vehicle device 110, an upgrade server 120, a compilation server 130, and the like, which are interconnected by a wired or wireless manner. The in-vehicle device 110 may implement all functions mentioned in the embodiments of the present application, but is not limited to all functions mentioned in the embodiments of the present application. The upgrade server 120 may implement all functions mentioned in the embodiments of the present application, but is not limited to all functions mentioned in the embodiments of the present application. The compiling server 130 may implement all functions mentioned in the embodiments of the present application, but is not limited to all functions mentioned in the embodiments of the present application.
The On-Board device 110 may include an On-Board Diagnostics (OBD) device, an On-Board self-editing recognition device, a mobile terminal, and the like, and is configured to monitor a plurality of systems and components, including an engine module, a catalytic converter module, a particulate trap module, an oxygen sensor module, an emission control system module, a fuel system module, an exhaust gas recirculation system module, and the like. The in-vehicle device is an Electronic Control Unit (ECU) connected to each module through various emission-related component information, and the ECU of each module has a function of detecting and analyzing an emission-related failure. When an emission fault occurs, the ECU records fault information and related codes and issues a warning through a fault lamp to inform the driver. And the ECU ensures the access and processing of fault information through a standard data interface.
A server, also called a server, is a device that provides a computing service to a user, and since the server needs to respond to and process a service request, the server generally has the capability of supporting and securing the service. The upgrade server 120 and the compilation server 130 provided in the embodiment of the present application are dedicated servers, and are mainly used for implementing functions related to software upgrade and functions related to software compilation, respectively.
Referring to fig. 2, fig. 2 is a schematic flowchart of a method for remotely upgrading software according to an embodiment of the present application, and the method is applied to a vehicle-mounted device, and includes:
step 201: the method comprises the steps that the vehicle-mounted equipment receives a first upgrading packet sent by an upgrading server, and the first upgrading packet is used for upgrading first software.
The first software may be system software installed on the vehicle-mounted device, or may also be application software installed on the vehicle-mounted device, which is not limited herein.
Further, the method further comprises: the compiling server stores the first private key into a UKEY or an encryption machine; the compilation server determining a first signature value based on the first software package; and the compiling server encrypts the first software package based on the UKEY or the encryption machine and the first private key to obtain a first upgrading package.
In one implementation of the present application, the first upgrade package includes at least six of: a total length, a timestamp, the first device type, a software version, the first signature value, the first software package, a check code.
In an implementation manner of the present application, a format of the first upgrade package is: 4 bytes total length LEN + "4 bytes time stamp" + "1 byte device type length + N1Byte device type value "+" 1 byte software version length + N2Byte software version value "+" 1 byte first signature value length + N3Byte first signature value "+" 4 bytes first software package length + N4Byte first package data "+" 1 byte check code ".
Wherein, total length LEN is 4+4+1+ N1+1+N2+1+N3+4+N4+1。
The check code is usually the last digit of a group of digits, and is derived from the previous digit by some operation to check the correctness of the group of digits.
Further, the compiling server encrypts the first software package through a preset encryption algorithm.
Wherein the preset encryption algorithm comprises at least one of the following: message digest Algorithm 5(Message-digest Algorithm 5, MD5), Data Encryption Standard (DES), Triple Data Encryption Standard Algorithm (3 DES), Advanced Encryption Standard (AES), Secure Hash Algorithm (SHA).
In an implementation manner of the present application, before receiving the first upgrade package sent by the upgrade server, the method further includes:
and establishing connection with the upgrading server through a network channel, wherein the encryption mode of the network channel is a Secure Socket Layer (SSL) encryption mode.
The Secure Socket Layer (SSL) is a network security protocol first adopted by Netscape. It is a safety protocol implemented on transmission communication protocol (TCP/IP), and adopts public key technique. SSL widely supports various types of networks while providing three basic security services, all using public key technology. The advantage of the SSL protocol is that it is independent of the application layer protocol. Higher layer application layer protocols (e.g., HTTP, FTP, Telnet, etc.) can be transparently built on top of the SSL protocol. The SSL protocol completes the encryption algorithm, communication key negotiation, and server authentication before the application layer protocol communicates. After which the data transmitted by the application layer protocol is encrypted to ensure the privacy of the communication.
Step 202: and decrypting the first upgrade package based on a preset decryption algorithm to obtain a first software package, a first signature value and a first device type.
In an implementation manner of the present application, the first upgrade package is obtained by encrypting the first software package through a preset encryption algorithm by a compiling server, where the preset encryption algorithm is associated with the preset decryption algorithm.
For example, if the preset encryption algorithm is the MD5 encryption algorithm, the preset decryption algorithm is the MD5 decryption algorithm, and if the preset encryption algorithm is the DES encryption algorithm, the preset decryption algorithm is the DES decryption algorithm.
In an implementation manner of the present application, the decrypting the first upgrade package based on a preset decryption algorithm includes:
determining a first parameter based on a first private key;
determining an encryption function based on the first parameter;
carrying out inverse transformation on the encryption function to obtain a decryption function;
decrypting the first upgrade package based on the decryption function.
Further, the encryption function is
Figure BDA0002201125890000071
Wherein X is the first software package before encryption, Y is the first software package after encryption, and a, b, c and d are the first parameters.
Further, the first private key is "a" + "b" + "c" + "d".
Step 203: a second signature value is determined based on the first software package.
In an implementation manner of the present application, the determining a second signature value based on the first software package includes:
determining a first string based on the first software package;
converting the first character string into a first hash value based on a preset hash function;
the first hash value is taken as a second signature value.
The preset hash function is, for example: the first step adds A to a second numerical value to obtain B, the second step obtains C by taking the nth power of B, the third step obtains D with m bits by taking the first m bits of C, and the fourth step divides D by a third numerical value to obtain E. A is a first string and E is a first hash value.
In an implementation manner of the present application, the preset decryption algorithm and the preset hash function are burned into a hardware encryption chip of the vehicle-mounted device through a production tool in the process of producing the vehicle-mounted device.
For example, the data of the first software package is stored in the computer in binary form, and the binary data can be converted into a multi-bit binary value by using MD5 algorithm or other algorithm, and then the binary value is converted into a first hash value by using a hash function, where the first hash value can be, for example, 011112a22b or 3330c00896f512, and the like, but is not limited thereto.
Step 204: and if the first signature value and the second signature value are successfully matched and the first equipment type and the equipment type of the vehicle-mounted equipment are successfully matched, upgrading the first software based on the first software package.
It can be seen that, in the embodiment of the application, the vehicle-mounted device first receives the first upgrade package sent by the upgrade server; then, the first upgrade package is decrypted based on a preset decryption algorithm to obtain a first software package, a first signature value and a first equipment type, and a second signature value is determined based on the first software package; if the first signature value is successfully matched with the second signature value and the first equipment type is successfully matched with the equipment type of the vehicle-mounted equipment, the first software is upgraded based on the first software package, so that the software of the vehicle-mounted equipment is upgraded remotely without going offline to a maintenance point, and the upgrading is convenient and quick; and secondly, the software is upgraded only when the upgrade package is decrypted successfully and the signature value and the equipment type are matched successfully, and the software is protected in multiple ways, so that the safety upgrade of the software is ensured.
Referring to fig. 3, in accordance with the embodiment shown in fig. 2, fig. 3 is a schematic flowchart of another software remote upgrade method provided in the embodiment of the present application. As shown, applied to the server, the method includes:
step 301: and establishing connection with an upgrade server through a network channel, wherein the encryption mode of the network channel is a Secure Socket Layer (SSL) encryption mode.
Step 302: receiving a first upgrade package sent by the upgrade server, where the first upgrade package is used for upgrading first software, the first upgrade package is obtained by encrypting the first software package by a compiling server through a preset encryption algorithm, the preset encryption algorithm is associated with the preset decryption algorithm, and the first upgrade package includes at least six of the following components: a total length, a timestamp, the first device type, a software version, the first signature value, the first software package, a check code.
Step 303: a first parameter is determined based on the first private key.
Step 304: an encryption function is determined based on the first parameter.
Step 305: and performing inverse transformation on the encryption function to obtain a decryption function.
Step 306: and decrypting the first upgrade package based on the decryption function to obtain a first software package, a first signature value and a first device type.
Step 307: a first string is determined based on the first software package.
Step 308: converting the first character string into a first hash value based on a preset hash function, wherein the preset decryption algorithm and the preset hash function are burnt into a hardware encryption chip of the vehicle-mounted equipment through a production tool in the process of producing the vehicle-mounted equipment.
Step 309: the first hash value is taken as a second signature value.
Step 310: and if the first signature value and the second signature value are successfully matched and the first equipment type and the equipment type of the vehicle-mounted equipment are successfully matched, upgrading the first software based on the first software package.
It should be noted that, for the specific implementation of the steps of the method shown in fig. 3, reference may be made to the specific implementation of the method, and no description is provided here.
In accordance with the embodiments shown in fig. 2 and fig. 3, please refer to fig. 4, and fig. 4 is a schematic structural diagram of an in-vehicle device provided in an embodiment of the present application, and as shown in the figure, the in-vehicle device includes a processor, a memory, a communication interface, and one or more programs, where the one or more programs are stored in the memory and configured to be executed by the processor, and the program is used to execute instructions of the following steps:
receiving a first upgrading packet sent by an upgrading server, wherein the first upgrading packet is used for upgrading first software;
decrypting the first upgrade package based on a preset decryption algorithm to obtain a first software package, a first signature value and a first device type;
determining a second signature value based on the first software package;
and if the first signature value and the second signature value are successfully matched and the first equipment type and the equipment type of the vehicle-mounted equipment are successfully matched, upgrading the first software based on the first software package.
In an implementation manner of the present application, before receiving the first upgrade package sent by the upgrade server, the program is further configured to execute instructions of the following steps:
and establishing connection with the upgrading server through a network channel, wherein the encryption mode of the network channel is a Secure Socket Layer (SSL) encryption mode.
In an implementation manner of the present application, the program is specifically configured to execute the following steps of decrypting the first upgrade package based on a preset decryption algorithm:
determining a first parameter based on a first private key;
determining an encryption function based on the first parameter;
carrying out inverse transformation on the encryption function to obtain a decryption function;
decrypting the first upgrade package based on the decryption function.
In an implementation manner of the present application, the determining a second signature value based on the first software package is specifically configured to execute instructions of:
determining a first string based on the first software package;
converting the first character string into a first hash value based on a preset hash function;
the first hash value is taken as a second signature value.
In an implementation manner of the present application, the preset decryption algorithm and the preset hash function are burned into a hardware encryption chip of the vehicle-mounted device through a production tool in the process of producing the vehicle-mounted device.
In an implementation manner of the present application, the first upgrade package is obtained by encrypting the first software package through a preset encryption algorithm by a compiling server, where the preset encryption algorithm is associated with the preset decryption algorithm.
In one implementation of the present application, the first upgrade package includes at least six of: a total length, a timestamp, the first device type, a software version, the first signature value, the first software package, a check code.
It should be noted that, for the specific implementation process of the present embodiment, reference may be made to the specific implementation process described in the above method embodiment, and a description thereof is omitted here.
The above embodiments mainly introduce the scheme of the embodiments of the present application from the perspective of the method-side implementation process. It is understood that the vehicle-mounted device includes hardware structures and/or software modules for performing the respective functions in order to realize the functions. Those of skill in the art would readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
According to the embodiment of the application, the functional units of the vehicle-mounted device can be divided according to the method example, for example, each functional unit can be divided corresponding to each function, or two or more functions can be integrated into one processing unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
The following is an embodiment of the apparatus of the present application, which is used to execute the method implemented by the embodiment of the method of the present application. Referring to fig. 5, fig. 5 is a schematic structural diagram of a remote software upgrading apparatus provided in an embodiment of the present application, and the apparatus is applied to a vehicle-mounted device, and the apparatus includes:
an information receiving unit 501, configured to receive a first upgrade package sent by an upgrade server, where the first upgrade package is used to upgrade first software;
an information decryption unit 502, configured to decrypt the first upgrade package based on a preset decryption algorithm to obtain a first software package, a first signature value, and a first device type;
a signature value determination unit 503 for determining a second signature value based on the first software package;
a software upgrading unit 504, configured to upgrade the first software based on the first software package if the first signature value and the second signature value are successfully matched, and the first device type and the device type of the vehicle-mounted device are successfully matched.
In an implementation manner of the present application, before receiving the first upgrade package sent by the upgrade server, the apparatus further includes:
and a connection establishing unit 505, configured to establish a connection with the upgrade server through a network channel, where an encryption manner of the network channel is a secure socket layer SSL encryption manner.
In an implementation manner of the present application, in the aspect of decrypting the first upgrade package based on a preset decryption algorithm, the information decryption unit 502 is specifically configured to:
determining a first parameter based on a first private key;
determining an encryption function based on the first parameter;
carrying out inverse transformation on the encryption function to obtain a decryption function;
decrypting the first upgrade package based on the decryption function.
In an implementation manner of the present application, in the aspect of determining the second signature value based on the first software package, the signature value determining unit 503 is specifically configured to:
determining a first string based on the first software package;
converting the first character string into a first hash value based on a preset hash function;
the first hash value is taken as a second signature value.
In an implementation manner of the present application, the preset decryption algorithm and the preset hash function are burned into a hardware encryption chip of the vehicle-mounted device through a production tool in the process of producing the vehicle-mounted device.
In an implementation manner of the present application, the first upgrade package is obtained by encrypting the first software package through a preset encryption algorithm by a compiling server, where the preset encryption algorithm is associated with the preset decryption algorithm.
In one implementation of the present application, the first upgrade package includes at least six of: a total length, a timestamp, the first device type, a software version, the first signature value, the first software package, a check code.
It should be noted that the information receiving unit 501, the information decrypting unit 502, the signature value determining unit 503, the software upgrading unit 504, and the connection establishing unit 505 may be implemented by a processor.
Embodiments of the present application also provide a computer storage medium, where the computer storage medium stores a computer program for electronic data exchange, the computer program enabling a computer to execute part or all of the steps of any one of the methods described in the above method embodiments, and the computer includes an in-vehicle device.
Embodiments of the present application also provide a computer program product comprising a non-transitory computer readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods as described in the above method embodiments. The computer program product may be a software installation package, the computer comprising an in-vehicle device.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present application is not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described embodiments of the apparatus are merely illustrative, and for example, the above-described division of the units is only one type of division of logical functions, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of some interfaces, devices or units, and may be an electric or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit may be stored in a computer readable memory if it is implemented in the form of a software functional unit and sold or used as a stand-alone product. Based on such understanding, the technical solution of the present application may be substantially implemented or a part of or all or part of the technical solution contributing to the prior art may be embodied in the form of a software product stored in a memory, and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the above-mentioned method of the embodiments of the present application. And the aforementioned memory comprises: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by associated hardware instructed by a program, which may be stored in a computer-readable memory, which may include: flash Memory disks, Read-Only memories (ROMs), Random Access Memories (RAMs), magnetic or optical disks, and the like.
The foregoing detailed description of the embodiments of the present application has been presented to illustrate the principles and implementations of the present application, and the above description of the embodiments is only provided to help understand the method and the core concept of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (10)

1. A software remote upgrading method is applied to vehicle-mounted equipment and comprises the following steps:
receiving a first upgrading packet sent by an upgrading server;
decrypting the first upgrade package based on a preset decryption algorithm to obtain a first software package, a first signature value and a first device type;
determining a second signature value based on the first software package;
and if the first signature value and the second signature value are successfully matched and the first equipment type and the equipment type of the vehicle-mounted equipment are successfully matched, upgrading the first software based on the first software package.
2. The method of claim 1, wherein before receiving the first upgrade package sent by the upgrade server, the method further comprises:
and establishing connection with the upgrading server through a network channel, wherein the encryption mode of the network channel is a Secure Socket Layer (SSL) encryption mode.
3. The method of claim 1, wherein decrypting the first upgrade package based on a preset decryption algorithm comprises:
determining a first parameter based on a first private key;
determining an encryption function based on the first parameter;
carrying out inverse transformation on the encryption function to obtain a decryption function;
decrypting the first upgrade package based on the decryption function.
4. The method of any of claims 1-3, wherein determining a second signature value based on the first software package comprises:
determining a first string based on the first software package;
converting the first character string into a first hash value based on a preset hash function;
the first hash value is taken as a second signature value.
5. The method according to claim 4, wherein the preset decryption algorithm and the preset hash function are burned into a hardware encryption chip of the vehicle-mounted device by a production tool during the production of the vehicle-mounted device.
6. The method of claim 1, wherein the first upgrade package is obtained by the compilation server encrypting the first software package by a preset encryption algorithm, the preset encryption algorithm being associated with the preset decryption algorithm.
7. The method of claim 6, wherein the first upgrade package comprises at least six of: a total length, a timestamp, the first device type, a software version, the first signature value, the first software package, a check code.
8. A software remote upgrading device is characterized by being applied to vehicle-mounted equipment and comprising:
the information receiving unit is used for receiving a first upgrading packet sent by the upgrading server;
the information decryption unit is used for decrypting the first upgrading packet based on a preset decryption algorithm to obtain a first software packet, a first signature value and a first equipment type;
a signature value determination unit for determining a second signature value based on the first software package;
and the software upgrading unit is used for upgrading the first software based on the first software package if the first signature value is successfully matched with the second signature value and the first equipment type is successfully matched with the equipment type of the vehicle-mounted equipment.
9. An in-vehicle device comprising a processor, a memory, a communication interface, and one or more programs stored in the memory and configured to be executed by the processor, the programs comprising instructions for performing the steps in the method of any of claims 1-7.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which is executed by a processor to implement the method of any one of claims 1-7.
CN201910865415.8A 2019-09-12 2019-09-12 Software remote upgrading method and related equipment Pending CN110727455A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910865415.8A CN110727455A (en) 2019-09-12 2019-09-12 Software remote upgrading method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910865415.8A CN110727455A (en) 2019-09-12 2019-09-12 Software remote upgrading method and related equipment

Publications (1)

Publication Number Publication Date
CN110727455A true CN110727455A (en) 2020-01-24

Family

ID=69219001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910865415.8A Pending CN110727455A (en) 2019-09-12 2019-09-12 Software remote upgrading method and related equipment

Country Status (1)

Country Link
CN (1) CN110727455A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383522A (en) * 2020-11-02 2021-02-19 浙江苍南仪表集团股份有限公司 Function parameter data transmission encryption method, system, device and readable storage medium
WO2021184712A1 (en) * 2020-03-20 2021-09-23 株洲中车时代电气股份有限公司 Software upgrading method and device
CN113806749A (en) * 2021-09-23 2021-12-17 航天信息股份有限公司 Upgrading method, device and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132936A1 (en) * 2010-08-11 2013-05-23 Zte Corporation Apparatus and method for packing a software package of version upgrade
CN105978921A (en) * 2016-07-29 2016-09-28 重庆长安汽车股份有限公司 Remote upgrading method for vehicle-mounted communication terminal
CN108182072A (en) * 2017-12-28 2018-06-19 上汽通用五菱汽车股份有限公司 Remote upgrade method, server and the storage medium of vehicle electronics
CN108241517A (en) * 2018-02-23 2018-07-03 武汉斗鱼网络科技有限公司 A kind of method for upgrading software, client and electronic equipment
CN108923933A (en) * 2018-07-12 2018-11-30 北京航空航天大学 The working method of server, the upgrade method of car-mounted terminal and system
CN109413009A (en) * 2017-08-18 2019-03-01 厦门雅迅网络股份有限公司 The method and computer readable storage medium of vehicle Firmware Over upgrading
CN109460247A (en) * 2018-12-17 2019-03-12 深圳创维数字技术有限公司 Software packet upgrade method, software client, storage medium and device
CN109783123A (en) * 2019-03-11 2019-05-21 天津卡达克数据有限公司 Vehicle-mounted T-BOX terminal and firmware upgrade method
CN109857421A (en) * 2018-12-17 2019-06-07 航天信息股份有限公司 The encryption upgrade method and system of embedded device
CN110225063A (en) * 2019-07-02 2019-09-10 广州小鹏汽车科技有限公司 Upgrade method, upgrade-system, server and the car-mounted terminal of automobile mounted system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132936A1 (en) * 2010-08-11 2013-05-23 Zte Corporation Apparatus and method for packing a software package of version upgrade
CN105978921A (en) * 2016-07-29 2016-09-28 重庆长安汽车股份有限公司 Remote upgrading method for vehicle-mounted communication terminal
CN109413009A (en) * 2017-08-18 2019-03-01 厦门雅迅网络股份有限公司 The method and computer readable storage medium of vehicle Firmware Over upgrading
CN108182072A (en) * 2017-12-28 2018-06-19 上汽通用五菱汽车股份有限公司 Remote upgrade method, server and the storage medium of vehicle electronics
CN108241517A (en) * 2018-02-23 2018-07-03 武汉斗鱼网络科技有限公司 A kind of method for upgrading software, client and electronic equipment
CN108923933A (en) * 2018-07-12 2018-11-30 北京航空航天大学 The working method of server, the upgrade method of car-mounted terminal and system
CN109460247A (en) * 2018-12-17 2019-03-12 深圳创维数字技术有限公司 Software packet upgrade method, software client, storage medium and device
CN109857421A (en) * 2018-12-17 2019-06-07 航天信息股份有限公司 The encryption upgrade method and system of embedded device
CN109783123A (en) * 2019-03-11 2019-05-21 天津卡达克数据有限公司 Vehicle-mounted T-BOX terminal and firmware upgrade method
CN110225063A (en) * 2019-07-02 2019-09-10 广州小鹏汽车科技有限公司 Upgrade method, upgrade-system, server and the car-mounted terminal of automobile mounted system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏杰羽 等: "《电子商务概论》", 吉林大学出版社, pages: 122 - 135 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021184712A1 (en) * 2020-03-20 2021-09-23 株洲中车时代电气股份有限公司 Software upgrading method and device
CN112383522A (en) * 2020-11-02 2021-02-19 浙江苍南仪表集团股份有限公司 Function parameter data transmission encryption method, system, device and readable storage medium
CN112383522B (en) * 2020-11-02 2023-02-24 浙江苍南仪表集团股份有限公司 Function parameter data transmission encryption method, system, device and readable storage medium
CN113806749A (en) * 2021-09-23 2021-12-17 航天信息股份有限公司 Upgrading method, device and storage medium
CN113806749B (en) * 2021-09-23 2024-04-05 航天信息股份有限公司 Upgrading method, device and storage medium

Similar Documents

Publication Publication Date Title
US10965450B2 (en) In-vehicle networking
CN107770182B (en) Data storage method of home gateway and home gateway
US8972736B2 (en) Fully authenticated content transmission from a provider to a recipient device via an intermediary device
EP4050474A1 (en) Vehicle upgrade packet processing method and apparatus
EP3893108B1 (en) Vehicle-mounted device upgrading method, and related apparatus
CN110727455A (en) Software remote upgrading method and related equipment
CN111510485A (en) OTA upgrade package downloading method, device, vehicle end and server
CN115396121B (en) Security authentication method for security chip OTA data packet and security chip device
CN115552844A (en) Time stamping of industrial one-way communication devices with data integrity management
CN117041048A (en) Vehicle system upgrading method, OTA upgrading file cloud processing method and electronic equipment
CN112953725B (en) Method and device for determining private key of equipment, storage medium and electronic device
CN111866864B (en) Method, device and storage medium for realizing encrypted storage and safe use management of cloud platform certificate based on wireless AP
Feng et al. Autonomous vehicles' forensics in smart cities
CN116419217A (en) OTA data upgrading method, system, equipment and storage medium
CN107154920B (en) Encryption method and decryption method for security information and receiving device for receiving security information
CN108337234B (en) Vehicle-mounted program file encryption method and device
CN111586125A (en) Internet of things system
CN114978751B (en) Service certificate acquisition method and device and electronic equipment
CN112804284A (en) Data chaining device, data verification device and data verification method
CN113132409B (en) Data transmission method and device
CN108462567A (en) Vehicle-mounted program file downloading method and device
CN115396468B (en) Data transmission method and data service bus system
CN118250691B (en) Identification generation verification method, system, device and readable storage medium
CN103392323A (en) IPSEC negotiation method, apparatus, equipment and system
CN116506848A (en) Secret transmission method and device for upgrading data packet, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200124