CN115550351A - Application updating method and device - Google Patents

Application updating method and device Download PDF

Info

Publication number
CN115550351A
CN115550351A CN202211255612.6A CN202211255612A CN115550351A CN 115550351 A CN115550351 A CN 115550351A CN 202211255612 A CN202211255612 A CN 202211255612A CN 115550351 A CN115550351 A CN 115550351A
Authority
CN
China
Prior art keywords
file
application
soc
application file
encrypted
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
CN202211255612.6A
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.)
Guoqi Intelligent Control Beijing Technology Co Ltd
Original Assignee
Guoqi Intelligent Control Beijing 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 Guoqi Intelligent Control Beijing Technology Co Ltd filed Critical Guoqi Intelligent Control Beijing Technology Co Ltd
Priority to CN202211255612.6A priority Critical patent/CN115550351A/en
Publication of CN115550351A publication Critical patent/CN115550351A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

The application provides an application updating method and device, and relates to application updating technology. The method comprises the following steps: the SOC responds to a software updating request from the cloud server and sends a public key to the cloud server; the SOC receives an application file encrypted by a public key from a cloud server and the file length of the application file encrypted by the public key, wherein the file length of the encrypted application file is different from the file length of the application file before encryption; the SOC decrypts the encrypted application file and the file length of the encrypted application file by using a preset private key; when the file length of the decrypted application file is consistent with the file length of the decrypted received application file, the SOC updates the corresponding application based on the decrypted application file, the application file is not easy to be tampered in the transmission process, the safety is high, the file length of the encrypted application file is different from the file length of the application file before encryption, the application file is further not easy to be tampered in the transmission process, and the safety is high.

Description

Application updating method and device
Technical Field
The present application relates to application update technologies, and in particular, to an application update method and apparatus.
Background
With the transition from the traditional fuel vehicle to the hybrid electric vehicle or the pure electric vehicle and the coming of the era of the automatic driving vehicle, the vehicle needs to have good computing power so as to meet the realization of each function of the vehicle. Therefore, in the current vehicle-mounted terminal, application software is not only arranged on the microprocessor MCU, but also installed on the system-on-chip.
When the application software in the system-on-chip needs to be updated, the application file can be downloaded from the cloud server through the network, and the application software is updated according to the downloaded application file. However, in the process of downloading the application file, the application file is easily tampered by the system on chip, and the security is low.
Disclosure of Invention
The application updating method and device are used for solving the problems that an application file is easy to attack and tamper and low in safety in the process of downloading the application file by a system-on-chip.
In a first aspect, the present application provides an application updating method, which is applied to a vehicle-mounted terminal, where the vehicle-mounted terminal includes a system on chip SOC, and the method provided by the present application includes: the SOC responds to a software updating request from the cloud server and sends a public key to the cloud server; the SOC receives an application file encrypted by a public key from a cloud server and the file length of the application file encrypted by the public key, wherein the file length of the encrypted application file is different from the file length of the application file before encryption; the SOC decrypts the encrypted application file and the file length of the encrypted application file by using a preset private key; and when the file length of the decrypted application file is consistent with the file length of the decrypted received application file, the SOC updates the corresponding application based on the decrypted application file.
In one possible implementation, the SOC receives the application file encrypted by the public key from the cloud server and the file length of the application file encrypted by the public key, and includes: the SOC starts to receive an application file encrypted by a public key from a cloud server and the file length of the received data; after communication between the SOC and the cloud server is interrupted and connection is restored again, responding to a request of the file length of the transmitted data from the cloud server, and sending the encrypted file length of the transmitted data to the cloud server; and the SOC receives the file length of the transmitted data, and continuously sends the encrypted untransmitted data in the application file.
Therefore, in the downloading process of the application file, if the communication between the SOC and the cloud server is interrupted and the connection is restored again, the SOC only needs to receive the part, which is not downloaded, of the application file transmitted by the server, the whole application file does not need to be transmitted from the beginning, and the file transmission efficiency is improved. In addition, the application file is transmitted after being encrypted as the rest part which is not downloaded, so that the safety is high.
In one possible embodiment, when the file length of the decrypted application file is consistent with the file length of the decrypted transmitted application file, the SOC updates the corresponding application based on the decrypted application file, including: the SOC detects the integrity of the decrypted application file; when the decrypted application file is complete, the SOC detects whether the file length of the decrypted application file is consistent with the file length of the decrypted transmitted application file or not; and if the application files are consistent with the application files, the SOC updates the corresponding application based on the decrypted application files.
It should be noted that, when the decrypted application file is complete and the file length of the decrypted application file is consistent with the file length of the decrypted transmitted application file, it indicates that the application file has not been tampered. At this time, the security of the corresponding application is updated based on the decrypted application file.
In a possible embodiment, the SOC receives a cyclic redundancy check value of the application file while receiving the encrypted application file, and the SOC detects integrity of the decrypted application file, including: the SOC calculates a cyclic redundancy check value of the decrypted application file; and when the received cyclic redundancy check value is consistent with the calculated cyclic redundancy check value, the SOC determines that the decrypted application file is complete.
In a possible implementation manner, after the SOC updates the corresponding application based on the decrypted application file, the method provided by the present application further includes: and the SOC informs the cloud server that the application corresponding to the application file is updated successfully.
In a second aspect, the present application further provides an application updating method, which is applied to a cloud server, and includes: the method comprises the steps that when an application updating condition is met, a cloud server sends a software updating request to the SOC of the vehicle-mounted terminal; the cloud server receives a public key sent by the SOC in response to the software updating request; the cloud server encrypts an application file to be sent and the file length of the application file encrypted by using the public key, wherein the file length of the encrypted application file is different from that of the application file before encryption; and the cloud server sends the encrypted application file and the file length of the encrypted application file to the SOC, so that the SOC decrypts the file length of the application file and updates the corresponding application according to the decrypted application file after verification is passed.
In one possible implementation, the cloud server sends the encrypted application file to the SOC, and the method includes: the cloud server starts to send the application file encrypted by the public key to the SOC; after the communication between the cloud server and the SOC is interrupted and the connection is restored again, sending a request for acquiring the file length of the transmitted data to the SOC; the cloud server receives the file length of the transmitted data which is sent by the SOC in response to the request and encrypted by using the public key; the cloud server decrypts the file length of the transmitted data by using a preset private key, and continuously sends the untransmitted data in the encrypted application file to the SOC according to the file length of the decrypted transmitted data.
In a third aspect, the present application further provides an application update apparatus, including: the data receiving and sending unit is used for responding to a software updating request from the cloud server and sending a public key to the cloud server; the data receiving and sending unit is further used for receiving the application file encrypted by the public key from the cloud server and the file length of the application file encrypted by the public key, and the file length of the encrypted application file is different from the file length of the application file before encryption; a data encryption unit for decrypting the encrypted application file and the file length of the encrypted application file using a preset private key; and the application updating unit is used for updating the corresponding application based on the decrypted application file when the file length of the decrypted application file is consistent with the file length of the decrypted received application file.
In a fourth aspect, the present application further provides an in-vehicle terminal, including a memory, an SOC, and a computer program stored in the memory and operable on the SOC, where the SOC executes the computer program to make the in-vehicle terminal execute the method provided in the first aspect of the present application.
In a fifth aspect, the present application further provides a computer readable storage medium storing a computer program which, when executed by an SOC, causes a computer to perform the method as provided in the first aspect of the present application.
In a sixth aspect, the present application also provides a computer program product comprising a computer program that, when executed, causes a computer to perform the method as provided in the first aspect of the present application as described in the first aspect or any implementation manner of the first aspect.
In a seventh aspect, an embodiment of the present application further provides a vehicle, which includes a vehicle-mounted terminal, where the vehicle-mounted terminal may perform the method provided in the first aspect of the present application.
In the application updating method provided by the application updating method, the SOC receives: and the application file from the cloud server is encrypted by using the public key sent by the SOC. Therefore, the application file is not easy to be tampered in the transmission process, and the safety is high. Moreover, the file length of the application file encrypted by the public key is different from that of the application file before encryption. Therefore, an attacker is not easy to acquire the downloading progress of the application file in the transmission process of the application file, and the application file is further not easy to be tampered in the transmission process, so that the safety is high; in addition, after the encrypted file length is verified, the application program is updated according to the application file, so that the downloading safety of the application file can be further improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
Fig. 1 is an interaction diagram of an ECU and a cloud server provided in an embodiment of the present application;
fig. 2 is a flowchart of an application update method according to an embodiment of the present disclosure;
fig. 3 is a detailed flowchart of S202 in fig. 2 according to an embodiment of the present disclosure;
FIG. 4 is a second flowchart of an application update method according to an embodiment of the present application;
fig. 5 is a detailed flowchart of S404 in fig. 4 according to an embodiment of the present application;
fig. 6 is one of functional block diagrams of an application update apparatus according to an embodiment of the present application;
fig. 7 is a second functional block diagram of an application update apparatus according to an embodiment of the present disclosure.
With the above figures, there are shown specific embodiments of the present application, which will be described in more detail below. The drawings and written description are not intended to limit the scope of the inventive concepts in any manner, but rather to illustrate the concepts of the application by those skilled in the art with reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the application, as detailed in the appended claims.
The terms referred to in this application are explained first:
SOC: namely, a System On Chip (SOC), a plurality of functional modules, such as a CPU, a GPU, a memory, an audio processor, and the like, are mainly integrated on a single Chip.
An ECU: namely, an Electronic Control Unit (ECU) which is also called a "traveling computer" or an "in-vehicle computer". It is the same as a common computer and comprises a Microcontroller (MCU), memories (ROM, RAM), input/output interfaces (I/O), an analog-to-digital converter (A/D) and a large-scale integrated circuit such as a shaping circuit, a driving circuit and the like.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
When the application software in the system-on-chip needs to be updated, the application file can be downloaded from the cloud server through the network, and the application software is updated according to the downloaded application file. However, in the process of downloading the application file, the application file is easily tampered by the system on chip, and the security is low.
In view of this, the present application provides a software updating method, where the SOC receives an encrypted application file from a server, so as to improve the security of downloading the application file. In addition, the SOC receives the encrypted file length from the server, and the downloading safety of the application file can be further improved. Moreover, after the encrypted file length is verified, the application program is updated according to the application file, so that the downloading safety of the application file can be further improved.
Hereinafter, the technical solution of the present application and how to solve the above technical problems will be described in detail by specific examples. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
The application updating method provided by the embodiment of the application is applied to the vehicle-mounted terminal ECU100. As shown in fig. 1, the vehicle-mounted terminal includes a system on chip SOC102, a microprocessor MCU103, and a communication module 101. The SOC102 is electrically connected to the MCU103 and the communication module 101, respectively, and the communication module 101 is used for communication with the cloud server 200 (i.e., an upper computer). The SOC102 is mainly used for performing algorithm execution (e.g., encryption and judgment), and the MCU103 is mainly used for performing data acquisition (e.g., acquiring data from a sensor) and function control (e.g., controlling a brake and controlling a throttle opening). The number of SOCs 102 may be one or more, and is not limited herein. As shown in fig. 2, the method provided in the embodiment of the present application includes:
s201: the SOC102 transmits the public key to the cloud server 200 in response to a software update request from the cloud server 200.
When a software operator logs a new version of software on cloud server 200, cloud server 200 may send a software update request to SOC102 of ECU100. At this time, the SOC102 may transmit the public key to the cloud server 200 in response to a software update request from the cloud server 200. Further, the cloud server 200 may encrypt the application file to be transmitted using the public key. The application file may be a music application, a news application, etc., and is not limited herein.
S202: the SOC102 receives the application file encrypted by the public key from the cloud server 200 and the file length of the application file encrypted by the public key, and the file length of the encrypted application file is different from the file length of the application file before encryption.
S203: the SOC102 decrypts the encrypted application file and the file length of the encrypted application file using a preset private key.
In this way, the SOC102 may obtain the decrypted application file and the file length of the application file.
S204: when the file length of the decrypted application file matches the file length of the decrypted received application file, the SOC102 updates the corresponding application based on the decrypted application file.
Illustratively, S204 may be embodied as: the SOC102 detects the integrity of the decrypted application file; when the decrypted application file is complete, the SOC102 detects whether the file length of the decrypted application file is consistent with the file length of the decrypted transmitted application file; if so, the SOC102 updates the corresponding application based on the decrypted application file. Specifically, SOC102 may detect the integrity of the decrypted application file by: the SOC102 calculates a cyclic redundancy check value of the decrypted application file; when the received cyclic redundancy check value is consistent with the calculated cyclic redundancy check value, the SOC102 determines that the decrypted application file is complete.
It should be noted that, when the decrypted application file is complete and the file length of the decrypted application file is consistent with the file length of the decrypted transmitted application file, it indicates that the application file has not been tampered with. At this time, the security of the application corresponding to the update based on the decrypted application file is high.
To sum up, in the application updating method provided in the embodiment of the present application, the SOC102 receives: application files from cloud server 200 encrypted using the public key issued by SOC 102. Therefore, the application file is not easy to be tampered in the transmission process, and the safety is high. Moreover, the file length of the application file encrypted by the public key is different from that of the application file before encryption. Therefore, in the transmission process of the application file, an attacker is not easy to acquire the downloading progress of the application file, so that the application file is further not easy to tamper in the transmission process, and the safety is high; in addition, after the encrypted file length is verified, the application program is updated according to the application file, so that the downloading safety of the application file can be further improved.
In addition, as shown in fig. 3, the above S202 may be implemented as:
s301: the SOC102 starts receiving the application file encrypted using the public key and the file length of the received data from the cloud server 200.
S302: after the communication between the SOC102 and the cloud server 200 is interrupted and the connection is resumed, the file length of the encrypted transmitted data is transmitted to the cloud server 200 in response to a request for the file length of the transmitted data from the cloud server 200.
Among them, the reason for the communication interruption may be due to the deterioration of network signals; the reason for resuming the connection may be that the network signal becomes good.
S303: the SOC102 receives the file length of the transmitted data, and the cloud server 200 continues to send the untransmitted data encrypted in the application file.
As can be seen from the foregoing S301 to S303, in the downloading process of the application file, if the communication between the SOC102 and the cloud server 200 is interrupted and the connection is restored again, the SOC102 only needs to receive the remaining portion of the application file transmitted by the server, and does not need to transmit the entire application file from the beginning, thereby improving the efficiency of file transmission. In addition, the application file is transmitted after being encrypted as the rest part which is not downloaded, so that the safety is high.
Optionally, after S204 described above, the method provided in the embodiment of the present application may further include: the SOC102 notifies the cloud server 200 that the application corresponding to the updated application file is successful. In this way, the cloud server 200 may perceive that the application update corresponding to the application file is successful.
In the above method, the paired set of public key and private key may be written in advance into the unconnected network of the cloud server 200 and the ECU100 when the cloud server 200 and the ECU100 are not connected to the network. In this way, the security of the public key and the private key can be ensured.
Referring to fig. 4, an application updating method applied to the cloud server 200 is further provided in the embodiment of the present application. It should be noted that the basic principle and the generated technical effect of the application updating method provided by the embodiment of the present application are the same as those of the embodiment described above, and for the sake of brief description, no part of the embodiment of the present application is mentioned, and reference may be made to the corresponding contents in the embodiment described above. The method provided by the embodiment of the application comprises the following steps:
s401: when the application update condition is satisfied, the cloud server 200 transmits a software update request to the SOC102 of the in-vehicle terminal.
Wherein, the application update condition may be: the cloud server 200 detects that a software operator is online with a new version of software.
S402: the cloud server 200 receives the public key sent by the SOC102 in response to the software update request.
S403: the cloud server 200 encrypts the application file to be sent and the file length of the application file encrypted by using the public key, where the file length of the encrypted application file is different from the file length of the application file before encryption.
S404: the cloud server 200 sends the encrypted application file and the file length of the encrypted application file to the SOC102, so that the SOC102 updates the corresponding application according to the decrypted application file after decrypting the file length of the application file and verifying the file length.
After the SOC102 decrypts the file length of the application file and verifies the file length, the process of updating the corresponding application according to the decrypted application file may refer to S204 described above, which is not described herein again.
It should be noted that, as shown in fig. 5, a specific process of the cloud server 200 sending the encrypted application file to the SOC102 may be:
s501: the cloud server 200 starts sending the application file encrypted using the public key to the SOC 102.
S502: after communication between cloud server 200 and SOC102 is interrupted and connection is resumed, a request for acquiring the file length of the transmitted data is sent to SOC 102.
S503: the cloud server 200 receives the file length of the transmitted data encrypted using the public key, which the SOC102 sends in response to the request.
S504: the cloud server 200 decrypts the file length of the transmitted data by using a preset private key, and continues to send the untransmitted data in the encrypted application file to the SOC102 according to the decrypted file length of the transmitted data.
As can be seen from the foregoing S501-S504, in the downloading process of the application file, if the communication between the SOC102 and the cloud server 200 is interrupted and the connection is restored again, the SOC102 only needs to receive the remaining portion of the application file transmitted by the server, which is not downloaded, and does not need to transmit the entire application file from the beginning, thereby improving the efficiency of file transmission. In addition, the application file is transmitted after being encrypted as the rest part which is not downloaded, so that the safety is high.
Referring to fig. 6, the present application also provides an application update apparatus 600, it should be noted that the application update apparatus 600 provided in the embodiment of the present application has the same basic principle and technical effect as the above embodiment, and for a brief description, reference may be made to the corresponding contents in the above embodiment for a part not mentioned in the embodiment of the present application. The apparatus 600 provided by the embodiment of the present application includes a data transceiver 601, a data encryption unit 602, and an application update unit 603, wherein,
the data transceiver 601 is configured to send a public key to the cloud server in response to a software update request from the cloud server.
The data transceiver 601 is further configured to receive an application file encrypted by using a public key from the cloud server and a file length of the application file encrypted by using the public key, where the file length of the encrypted application file is different from the file length of the application file before encryption.
A data encryption unit 602, configured to decrypt the encrypted application file and the file length of the encrypted application file using a preset private key.
An application updating unit 603 configured to update the corresponding application based on the decrypted application file when the file length of the decrypted application file matches the file length of the decrypted received application file.
In a possible embodiment, the data transceiver 601 is specifically configured to start receiving an application file encrypted by using a public key from a cloud server and a file length of the received data; after communication with the cloud server is interrupted and connection is restored again, the encrypted file length of the transmitted data is sent to the cloud server in response to a request of the file length of the transmitted data from the cloud server; and the cloud server continues to send the encrypted untransmitted data in the application file based on the file length of the transmitted data.
In a possible embodiment, the application updating unit 603 is specifically configured to detect the integrity of the decrypted application file; when the decrypted application file is complete, detecting whether the file length of the decrypted application file is consistent with the file length of the decrypted transmitted application file or not; and if so, updating the corresponding application based on the decrypted application file.
In a possible embodiment, the application updating unit 603 is specifically configured to calculate a cyclic redundancy check value of the decrypted application file; and when the received cyclic redundancy check value is consistent with the calculated cyclic redundancy check value, determining that the decrypted application file is complete.
Optionally, the data transceiver 601 is further configured to notify the cloud server that the application corresponding to the application file is updated successfully.
Referring to fig. 7, the present application also provides another application update apparatus 700, and it should be noted that the application update apparatus 700 provided in the embodiment of the present application has the same basic principle and the same technical effects as those of the above embodiment, and for the sake of brief description, corresponding contents in the above embodiment may be referred to where the embodiment of the present application is not mentioned in part. The application updating apparatus 700 provided by the embodiment of the present application includes a data transceiver 701 and a data encryption unit 702, wherein,
a data transceiving unit 701 configured to send a software update request to the SOC of the in-vehicle terminal when the application update condition is satisfied.
The data transceiving unit 701 is further configured to receive a public key sent by the SOC in response to the software update request.
The data encryption unit 702 is configured to encrypt the application file to be sent using the public key and encrypt the file length of the application file using the public key, where the file length of the encrypted application file is different from the file length of the application file before encryption.
The data transceiving unit 701 is further configured to send the encrypted application file and the file length of the encrypted application file to the SOC, so that the SOC decrypts the file length of the application file and updates the corresponding application according to the decrypted application file after verification passes.
In an optional embodiment, the data transceiving unit 701 is further configured to start sending the application file encrypted by using the public key to the SOC; after communication with the SOC is interrupted and connection is resumed, sending a request for acquiring the file length of the transmitted data to the SOC; receiving the file length of the transmitted data encrypted by the public key and sent by the SOC in response to the request; and decrypting the file length of the transmitted data by using a preset private key, and continuously sending the untransmitted data in the encrypted application file to the SOC according to the decrypted file length of the transmitted data.
In addition, the embodiment of the application also provides an in-vehicle terminal, which comprises a memory, an SOC and a computer program which is stored in the memory and can run on the SOC, wherein when the SOC executes the computer program, the in-vehicle terminal is enabled to execute the method provided by the embodiment.
In addition, the embodiment of the application further provides a vehicle which comprises the vehicle-mounted terminal, and the vehicle-mounted terminal can execute the method provided by the embodiment.
In addition, an embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by the SOC, the computer is caused to execute the method provided in the foregoing embodiment of the present application.
In addition, embodiments of the present application also provide a computer program product, which includes a computer program and when the computer program is executed, causes a computer to execute the method as described in the first aspect or any implementation manner of the first aspect.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (11)

1. An application updating method is applied to a vehicle-mounted terminal, the vehicle-mounted terminal comprises a System On Chip (SOC), and the method comprises the following steps:
the SOC responds to a software updating request from a cloud server and sends a public key to the cloud server;
the SOC receives an application file encrypted by the public key from the cloud server and the file length of the application file encrypted by the public key, wherein the file length of the encrypted application file is different from the file length of the application file before encryption;
the SOC decrypts the encrypted application file and the file length of the encrypted application file by using a preset private key;
and when the file length of the decrypted application file is consistent with the file length of the decrypted received application file, the SOC updates the corresponding application based on the decrypted application file.
2. The method of claim 1, wherein the SOC receives the application file encrypted using the public key from the cloud server and a file length of the application file encrypted using the public key, comprising:
the SOC starts to receive an application file encrypted by the public key and a file length of received data from the cloud server;
after communication between the SOC and the cloud server is interrupted and connection is restored again, responding to a request of the file length of the transmitted data from the cloud server, and sending the encrypted file length of the transmitted data to the cloud server;
and the SOC receives the file length of the transmitted data based on the cloud server and continuously sends the encrypted untransmitted data in the application file.
3. The method of claim 1, wherein the SOC updates the corresponding application based on the decrypted application file when the file length of the decrypted application file is consistent with the file length of the decrypted transferred application file, and comprises:
the SOC detects the integrity of the decrypted application file;
when the decrypted application file is complete, the SOC detects whether the file length of the decrypted application file is consistent with the file length of the decrypted transmitted application file;
and if so, updating the corresponding application by the SOC based on the decrypted application file.
4. The method of claim 3, wherein the SOC receives the encrypted application file and a cyclic redundancy check value of the application file at the same time, and wherein the SOC detects the integrity of the decrypted application file, comprising:
the SOC calculates a cyclic redundancy check value of the decrypted application file;
and when the received cyclic redundancy check value is consistent with the calculated cyclic redundancy check value, the SOC determines that the decrypted application file is complete.
5. The method of claim 1, wherein after the SOC updates the corresponding application based on the decrypted application file, the method further comprises:
and the SOC informs the cloud server that the application corresponding to the application file is updated successfully.
6. An application updating method is applied to a cloud server, and the method comprises the following steps:
the cloud server sends a software updating request to the SOC of the vehicle-mounted terminal when the application updating condition is met;
the cloud server receives a public key sent by the SOC in response to the software updating request;
the cloud server encrypts an application file to be sent by using the public key and the file length of the application file encrypted by using the public key, wherein the file length of the encrypted application file is different from the file length of the application file before encryption;
and the cloud server sends the encrypted application file and the file length of the encrypted application file to the SOC, so that the SOC decrypts the file length of the application file and updates the corresponding application according to the decrypted application file after verification is passed.
7. The method of claim 6, wherein the cloud server sends the encrypted application file to the SOC, comprising:
the cloud server starts to send the application file encrypted by the public key to the SOC;
after the communication between the cloud server and the SOC is interrupted and the connection is restored again, sending a request for acquiring the file length of the transmitted data to the SOC;
the cloud server receives the file length of the transmitted data encrypted by the SOC in response to the request, wherein the file length is sent by the SOC;
and the cloud server decrypts the file length of the transmitted data by using a preset private key, and continuously sends the non-transmitted data in the encrypted application file to the SOC according to the decrypted file length of the transmitted data.
8. An application update apparatus, the apparatus comprising:
the data receiving and sending unit is used for responding to a software updating request from a cloud server and sending a public key to the cloud server;
the data receiving and sending unit is also used for receiving the application file encrypted by the public key from the cloud server and the file length of the application file encrypted by the public key, and the file length of the encrypted application file is different from the file length of the application file before encryption;
a data encryption unit for decrypting the encrypted application file and the file length of the encrypted application file using a preset private key;
and the application updating unit is used for updating the corresponding application based on the decrypted application file when the file length of the decrypted application file is consistent with the file length of the decrypted received application file.
9. An in-vehicle terminal comprising a memory, an SOC, and a computer program stored in the memory and operable on the SOC, wherein the SOC is caused to perform the method of any of claims 1 to 5 when the SOC executes the computer program.
10. A vehicle characterized by comprising the in-vehicle terminal according to claim 9.
11. A computer-readable storage medium, in which a computer program is stored which, when executed by an SOC, causes a computer to perform the method according to any one of claims 1 to 5.
CN202211255612.6A 2022-10-13 2022-10-13 Application updating method and device Pending CN115550351A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211255612.6A CN115550351A (en) 2022-10-13 2022-10-13 Application updating method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211255612.6A CN115550351A (en) 2022-10-13 2022-10-13 Application updating method and device

Publications (1)

Publication Number Publication Date
CN115550351A true CN115550351A (en) 2022-12-30

Family

ID=84734378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211255612.6A Pending CN115550351A (en) 2022-10-13 2022-10-13 Application updating method and device

Country Status (1)

Country Link
CN (1) CN115550351A (en)

Similar Documents

Publication Publication Date Title
US11662991B2 (en) Vehicle-mounted device upgrade method and related device
EP3780481B1 (en) Method for upgrading vehicle-mounted device, and related device
US10171478B2 (en) Efficient and secure method and apparatus for firmware update
CN110225063B (en) Upgrading method and system of automobile-mounted system, server and vehicle-mounted terminal
EP4050474A1 (en) Vehicle upgrade packet processing method and apparatus
KR101527779B1 (en) In-vehicle apparatus for efficient reprogramming and method for controlling there of
CN108989024B (en) Method, device and equipment for controlling communication between ECUs and corresponding vehicle
JP6065113B2 (en) Data authentication apparatus and data authentication method
US20180183605A1 (en) Software distribution processing device, software distribution processing method, and vehicle
CN110621014B (en) Vehicle-mounted equipment, program upgrading method thereof and server
CN111510485A (en) OTA upgrade package downloading method, device, vehicle end and server
CN111565182A (en) Vehicle diagnosis method and device and storage medium
CN112653729B (en) Sharing upgrading method and device for Internet of things terminal, internet of things terminal and medium
US20230336356A1 (en) Data storage device, data storage method, and non-transitory computer readable storage medium
CN113162928A (en) Communication method, communication device, ECU, vehicle and storage medium
CN115550351A (en) Application updating method and device
CN109802929A (en) Client-side program upgrade method and computer readable storage medium based on dual system
KR102025808B1 (en) Driving assistance Apparatus for Vehicle and Control method thereof
CN116319092B (en) Encryption and decryption method, device and system for data and computer readable storage medium
WO2023074072A1 (en) Data storage system, mobile body, and data storage program
WO2024016486A1 (en) Data transmission method and apparatus, device, and computer readable storage medium
US20240119763A1 (en) In-vehicle communication system, data structure of reprogramming policy metadata, and data structure of download metadata
CN117850846A (en) Upgrading method, device, equipment and storage medium of target electronic control unit
CN115729123A (en) Control method and device for Electronic Control Unit (ECU)
CN117270903A (en) Vehicle-mounted application updating method, device, equipment and computer readable 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