WO2021093334A1 - 车辆升级包处理方法和装置 - Google Patents

车辆升级包处理方法和装置 Download PDF

Info

Publication number
WO2021093334A1
WO2021093334A1 PCT/CN2020/097666 CN2020097666W WO2021093334A1 WO 2021093334 A1 WO2021093334 A1 WO 2021093334A1 CN 2020097666 W CN2020097666 W CN 2020097666W WO 2021093334 A1 WO2021093334 A1 WO 2021093334A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
terminal
data block
server
upgrade package
Prior art date
Application number
PCT/CN2020/097666
Other languages
English (en)
French (fr)
Inventor
彭建芬
高长剑
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP20888565.7A priority Critical patent/EP4050474A4/en
Priority to KR1020227018960A priority patent/KR20220092606A/ko
Priority to JP2022528103A priority patent/JP2023501665A/ja
Publication of WO2021093334A1 publication Critical patent/WO2021093334A1/zh
Priority to US17/743,885 priority patent/US20220276855A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • This application relates to communication technology, and in particular to a method and device for processing a vehicle upgrade package.
  • the vehicle can download the vehicle upgrade package from the OTA server based on the over-the-air (OTA) technology, and realize the software update through the vehicle upgrade package.
  • OTA over-the-air
  • the OTA server needs to respond to the upgrade request of the vehicle and issue the vehicle upgrade package to the vehicle.
  • the OTA server has to provide a vehicle upgrade package for each vehicle, the load on the OTA server is relatively large.
  • the embodiments of the present application provide a method and device for processing a vehicle upgrade package to reduce the load of an OTA server.
  • an embodiment of the present application provides a method for processing a vehicle upgrade package, including: a first terminal receives one or more first data blocks from a server, the first data blocks are used for vehicle upgrade; the first terminal receives from the second terminal Obtain one or more second data blocks, the second data block is used for the on-board system upgrade, the second data block is sent by the server to the second terminal; the first terminal obtains the vehicle upgrade based on the first data block and the second data block package. That is, the server can divide the vehicle upgrade package into blocks to obtain multiple data blocks, and then deliver the multiple data blocks to multiple terminals.
  • each terminal can be peer-to-peer (P2P) based on the terminal
  • P2P peer-to-peer
  • the received data blocks and the data blocks obtained by the terminal from other terminals are used to obtain the vehicle upgrade package.
  • each terminal does not need to obtain the complete vehicle upgrade package from the OTA server, thus reducing the cost of the OTA server. load.
  • the first data block and the second data block are both encrypted data blocks
  • the data block length of the first data block and the data block length of the at least one second data block are both based on the encryption algorithm An integer multiple of the packet length.
  • the first terminal obtains the vehicle upgrade package according to the first data block and at least one second data block, including: the first terminal starts to decrypt the first data block at the first time; the first terminal starts to decrypt the first data block at the first time; The second data block is received at the second time, and the first time is before the second time; or, the first terminal starts to decrypt the second data block at the third time, and the first terminal receives the first data block at the fourth time, and the third time is at Before the fourth time.
  • the first terminal is a process of decrypting while receiving data blocks. Therefore, compared with the method of decrypting all data blocks after the first terminal completes all data blocks, the method of this embodiment of this application can improve the efficiency and efficiency of decryption. Reduce the download time of the upgrade package.
  • both the first data block and the second data block include: the signature of the server that generates the upgrade package for the vehicle system upgrade; the first terminal starts to decrypt the first data block at the first time, including: When a terminal confirms that the signature of the first data block is the signature of the server of the upgrade package of the vehicle system upgrade, the first terminal starts to decrypt the first data block at the first time; the first terminal starts to decrypt the second data at the third time.
  • the block includes: when the first terminal confirms that the signature of the second data block is the signature of the server of the upgrade package of the vehicle system upgrade, the first terminal starts to decrypt the second data block at the third time.
  • the signatures carried in the first data block and the second data block are not the signature of the OTA server, they can be discarded, and the first data block and the second data block containing the signature of the OTA server can be retrieved, so as to prevent the first terminal from receiving Insecure data blocks sent by other devices enhance the security of data block transmission.
  • the server stores the association relationship between the data block after the vehicle upgrade package is divided into blocks and the terminal receiving the data block; the first terminal obtains one or more second data blocks from the second terminal, including : The first terminal sends a data block acquisition request to the second terminal according to the association relationship; the first terminal receives one or more second data blocks returned by the second terminal in response to the data block acquisition request. Then, the first terminal can accurately obtain the second data block from the corresponding second terminal according to the foregoing association relationship provided by the server.
  • the server is a proxy server, and the vehicle upgrade package is obtained by downloading the OTA server from the air by the proxy server; the first terminal is a vehicle.
  • the proxy server can assist the vehicle to upgrade and reduce the load on the OTA server.
  • the first terminal is a charging pile.
  • the charging pile receives the upgrade package acquisition request sent by the vehicle; in the case that the vehicle passes the safety verification of the charging pile, the charging pile returns the vehicle upgrade package to the vehicle according to the upgrade package acquisition request. Therefore, the vehicle can download the vehicle upgrade package while charging. It is understandable that on the one hand, the vehicle is usually in a stationary state when the vehicle is being charged, and usually has a better network environment. On the other hand, because the vehicle is connected to the charging auxiliary equipment, it is also It can avoid the interruption of the download of the in-vehicle upgrade package due to insufficient vehicle power, and can better improve the user experience of vehicle upgrades
  • the first terminal receiving the first data block from the server includes: when the first terminal passes the security authentication of the server, the first terminal receives the first data block from the server. The first terminal receives the first data block after performing security authentication with the server, which can improve the security of the first data block received by the first terminal.
  • an embodiment of the present application provides a vehicle upgrade package processing method, including: a server divides the vehicle upgrade package into blocks to obtain multiple data blocks; the server distributes the multiple data blocks to at least one terminal; each terminal is used for According to the data blocks received by the terminal and the data blocks of other terminals in at least one terminal, a vehicle upgrade package is obtained.
  • the server dividing the vehicle upgrade package into blocks to obtain multiple data blocks includes: the server encrypts the vehicle upgrade package according to an encryption algorithm, and dividing the encrypted vehicle upgrade package into blocks to obtain multiple data blocks.
  • the server is a proxy server, and before the server divides the vehicle upgrade package into blocks, it also includes: the proxy server downloads the OTA server from the air to obtain the vehicle upgrade package.
  • the proxy server obtains the vehicle upgrade package from the over-the-air download OTA server, including: the proxy server sends the vehicle upgrade package acquisition request to the over-the-air download OTA server; the vehicle upgrade package acquisition request includes: the type and version of the vehicle operating system
  • the proxy server passes the security verification of the OTA server, the proxy server receives the vehicle upgrade package sent by the OTA server; wherein, the vehicle upgrade package is generated by the OTA server according to the type and version of the operating system of the vehicle.
  • the method further includes: the server records the association relationship between the data block after the vehicle upgrade package is divided into blocks and the terminal receiving the data block.
  • an embodiment of the present application provides a first terminal, including: a receiving module, configured to receive one or more first data blocks from a server, the first data blocks being used for vehicle upgrades; and a processing module, used for the first The terminal obtains one or more second data blocks from the second terminal, the second data block is used for the on-board system upgrade, and the second data block is sent by the server to the second terminal; and, according to the first data block and the second data block , Get the vehicle upgrade package.
  • the first data block and the second data block are both encrypted data blocks
  • the data block length of the first data block and the data block length of the at least one second data block are both based on the encryption algorithm An integer multiple of the packet length.
  • the processing module is specifically configured to start decrypting the first data block at the first time; to receive the second data block at the second time, the first time is before the second time; or, at the third time Start to decrypt the second data block, receive the first data block at the fourth time, and the third time is before the fourth time.
  • both the first data block and the second data block include: the signature of the server that generates the upgrade package for the vehicle system upgrade; the processing module is specifically used to: confirm that the signature of the first data block is the vehicle In the case of the signature of the server of the upgrade package of the system upgrade, decrypt the first data block at the first time; in the case of confirming that the signature of the second data block is the signature of the server of the upgrade package of the vehicle system upgrade, in the third Time to start decrypting the second data block.
  • the server saves the association relationship between the data block after the vehicle upgrade package is divided into blocks and the terminal receiving the data block; the processing module is specifically used to: send the data block to the second terminal according to the association relationship Obtaining request; receiving one or more second data blocks returned by the second terminal in response to the data block obtaining request.
  • the server is a proxy server
  • the vehicle upgrade package is obtained by downloading the OTA server from the air by the proxy server
  • the first terminal is a vehicle.
  • the first terminal is a charging pile.
  • it further includes: a receiving module, which is also used to receive an upgrade package acquisition request sent by the vehicle; a processing module, which is also used to send an upgrade package acquisition request to the vehicle when the vehicle passes the safety verification of the charging pile The vehicle returns to the vehicle upgrade package.
  • the receiving module is specifically configured to: when the first terminal passes the security authentication of the server, the first terminal receives the first data block from the server.
  • an embodiment of the present application provides a server, including: a processing module, configured to divide a vehicle upgrade package to obtain multiple data blocks; a sending module, configured to distribute multiple data blocks to at least one terminal; Each terminal is used to obtain the vehicle upgrade package according to the data block received by the terminal and the data blocks of other terminals in at least one terminal.
  • the processing module is specifically used to encrypt the vehicle upgrade package according to the encryption algorithm, and divide the encrypted vehicle upgrade package into blocks to obtain multiple data blocks.
  • the server is a proxy server, and the processing module is also used to download the OTA server from the air to obtain the vehicle upgrade package.
  • the processing module is specifically used to: send an on-board upgrade package acquisition request to the over-the-air download OTA server; the on-board upgrade package acquisition request includes: the type and version of the vehicle operating system; the proxy server passes the security verification of the OTA server In the case of receiving the vehicle upgrade package sent by the OTA server; wherein, the vehicle upgrade package is generated by the OTA server according to the type and version of the operating system of the vehicle.
  • the processing module is also used to record the association relationship between the data block after the vehicle upgrade package is divided into blocks and the terminal receiving the data block.
  • an embodiment of the present application provides a vehicle upgrade package processing device.
  • the vehicle upgrade package processing device may be a chip in a first terminal or a system on a chip, including a processor and an interface circuit, and the interface circuit is used to receive code instructions And transmitted to the processor; the processor is used to run code instructions to execute any possible design method such as the first aspect or the first aspect.
  • an embodiment of the present application provides a vehicle upgrade package processing device.
  • the vehicle upgrade package processing device may be a chip in a server or a system on a chip, including a processor and an interface circuit, and the interface circuit is used to receive and transmit code instructions.
  • the processor is used to run code instructions to execute any possible design method such as the second aspect or the second aspect.
  • an embodiment of the present application provides a vehicle upgrade package processing device, including a memory and a processor, and the processor executes program instructions in the memory to implement any possible design such as the first aspect or the first aspect Methods.
  • an embodiment of the present application provides a vehicle upgrade package processing device, including a memory and a processor, and the processor executes program instructions in the memory to implement any possible design such as the second aspect or the second aspect Methods.
  • an embodiment of the present application provides a readable computer storage medium, the readable computer storage medium is used to store a computer program, and the computer program is used to implement any possible design method such as the first aspect or the first aspect .
  • an embodiment of the present application provides a readable computer storage medium, the readable computer storage medium is used to store a computer program, and the computer program is used to implement any possible design method such as the second aspect or the second aspect .
  • an embodiment of the present application provides a vehicle upgrade package processing system, including the communication device of the third aspect and corresponding feasible implementation manners, and the communication device of the fourth aspect and corresponding feasible implementation manners.
  • FIG. 1 is a schematic diagram of a network system to which the method for processing a vehicle upgrade package according to an embodiment of the application is applied;
  • FIG. 2 is a schematic flowchart of a method for processing a vehicle upgrade package provided by an embodiment of the application
  • FIG. 3 is a schematic diagram of another network system to which the method for processing a vehicle upgrade package according to an embodiment of the application is applied;
  • FIG. 4 is a schematic diagram of a logical framework of on-board equipment in a vehicle according to an embodiment of the application;
  • FIG. 5 is a schematic flowchart of a method for processing a specific vehicle upgrade package provided by an embodiment of the application
  • FIG. 6 is a schematic diagram of another network system to which the method for processing a vehicle upgrade package according to an embodiment of the application is applied;
  • FIG. 7 is a schematic flowchart of another specific method for processing a vehicle upgrade package provided by an embodiment of the application.
  • FIG. 8 is a schematic structural diagram of a first terminal provided by an embodiment of this application.
  • FIG. 9 is a schematic structural diagram of a server provided by an embodiment of the application.
  • FIG. 10 is a schematic diagram of the hardware structure of a vehicle upgrade package processing apparatus provided by an embodiment of the application.
  • the vehicle upgrade package processing method provided by the embodiment of the present application can be applied to the network system of FIG. 1.
  • the system may include the server 11, the first terminal 121, and the second terminal 122.
  • the number of the second terminal 122 may be one or Multiple.
  • the server 11 may be an OTA server for issuing vehicle upgrade packages, or a fleet server that has obtained vehicle upgrade packages from the OTA server, or any other possible server, which is not specifically limited in the embodiment of the present application.
  • the first terminal 121 can be any form of vehicle, the first terminal 121 can also be any form of vehicle auxiliary equipment (such as a vehicle charging pile, etc.), and the first terminal 121 can also be a mobile terminal (such as a mobile phone, a tablet, a wearable device, etc.). Etc.), the embodiment of the present application does not specifically limit this.
  • the second terminal 122 can be any form of vehicle, the second terminal 122 can also be any form of vehicle auxiliary equipment (such as a vehicle charging pile, etc.), and the second terminal 122 can also be a mobile terminal (such as a mobile phone, a tablet, a wearable device, etc.). Etc.), the embodiment of the present application does not specifically limit this.
  • the first terminal 121 and the second terminal 122 may be the same type of equipment.
  • the first terminal 121 and the second terminal 122 are both vehicles or vehicle auxiliary equipment or mobile terminals.
  • the first terminal 121 and the second terminal 122 may also be different types of devices.
  • the first terminal 121 is a vehicle
  • the second terminal 122 is a vehicle auxiliary device or a mobile terminal, which is not specifically limited in the embodiment of the present application.
  • the vehicle upgrade package processing method when the server 11, the first terminal 121, and the second terminal 122 are various specific devices will be introduced in detail, which will not be repeated here.
  • the first terminal 121 and the second terminal 122 both establish a communication connection with the server 11.
  • both the first terminal 121 and the second terminal 122 can use hypertext transfer protocol (hypertext tansfer protocol, HTTP) or based on secure sockets.
  • hypertext transfer protocol hypertext tansfer protocol, HTTP
  • HTTPS hypertext transfer trotocol over secure socket layer
  • the first terminal 121 and the second terminal 122 can realize P2P communication through any form of communication connection.
  • the first terminal 121 and the second terminal 122 can realize P2P communication through wireless transmission, such as bluetooth. Transmission, ultrawideband (UWB), or infrared transmission, etc.
  • wireless transmission such as bluetooth. Transmission, ultrawideband (UWB), or infrared transmission, etc.
  • first terminal 121 and the second terminal 122 may also implement P2P communication through wired transmission, which is not specifically limited in the embodiment of the present application.
  • the first terminal 121 and the second terminal 122 may implement P2P communication based on an index server, and the index server may be the server 11 or any other server.
  • the index server may store a resource list including the association relationship between the resource identifiers in the first terminal 121 and the first terminal 121, and the resources in the second terminal 122 and the second terminal 122. The association relationship of the identifier.
  • the first terminal 121 wants to obtain a certain resource
  • the first terminal 121 obtains the resource list in each terminal from the index server, and determines from the resource list that the terminal including the identifier of the resource is the second terminal 122, the first terminal 121 may further obtain the resource from the second terminal 122 through the aforementioned wired communication or wireless communication.
  • FIG. 2 is a schematic flowchart of a method for processing a vehicle upgrade package provided by an embodiment of the application. As shown in FIG. 2, the method includes:
  • Step S101 The first terminal receives one or more first data blocks from the server, and the first data blocks are used for vehicle upgrade.
  • the server may be an OTA server, or may be another server other than the OTA server.
  • the server can generate an upgrade package for vehicle upgrade.
  • the server may first obtain the upgrade package for vehicle upgrade from the OTA server.
  • the server can divide a complete upgrade package for vehicle upgrade to obtain multiple data blocks. It is understandable that, according to the device specifically targeted by the upgrade package, each upgrade package can correspond to a device number and an upgrade package serial number.
  • the data blocks can be identified according to the position of each data block in the upgrade package, so that the data blocks can be integrated according to the identifications of the multiple data blocks to obtain the complete upgrade package.
  • the marking method and marking content are not specifically limited. In an embodiment, a data block may be a complete data packet.
  • the header of each data block after block division may include one of the version number, the upgrade package serial number i, the device number j, and the order k of the data block in the upgrade package i, or Multiple.
  • the types of upgrade packages usually do not exceed 256.
  • the total number of upgrade package serial numbers i does not exceed 256, you can set the upgrade package serial number i to occupy 1 byte in the data block.
  • the type of car usually does not exceed 256, so the device number (such as the car's ECU number) j can also occupy 1 byte.
  • the order k of the data blocks in the upgrade package i is related to the size of the upgrade package and the upgrade method.
  • the larger the upgrade package the larger k is, or the smaller k is when the differential upgrade method is adopted, and when the entire package upgrade method is adopted,
  • the larger the k is, the exemplary k may occupy 1 to 3 bytes, which is not specifically limited in the embodiment of the present application.
  • the server can distribute the multiple data blocks to multiple terminals.
  • the first terminal of the multiple terminals is used as the execution subject, and the multiple terminals are other than the first terminal.
  • the terminal is the second terminal as an example, and the first terminal and the second terminal may also be terminals other than the multiple terminals.
  • the data block received by the first terminal is the first data block, and the number of the first data block may be one or more.
  • the data block received by the second terminal is the second data block, and the number of the second data block may be one or more.
  • All the first data blocks and all the second data blocks can form the complete upgrade package, of course, there may also be a package similar to redundancy, and a complete upgrade package can also be formed in the case of parsing some data packages.
  • the first data block here may also refer to a type of data block, and the second data block may refer to another type of data block.
  • the transmission paths of different types of data blocks may be different, for example, reaching the destination through different devices.
  • the first terminal may send an upgrade request to the server.
  • the upgrade request may include basic information of the first terminal.
  • the basic information may include software information and/or hardware information or vehicle model (such as vehicle A unique identification code (vehicle identification number, VIN)), the server can respond to the upgrade request and send to the first terminal one or more first data blocks that match the basic information in the upgrade request.
  • VIN vehicle identification number
  • the first terminal may also first receive an upgrade notification.
  • the sending of the upgrade request is triggered according to the timing set in the first terminal, or according to the user clicking on the in-vehicle infotainment (IVI) screen of the first terminal
  • the upgrade control triggers the sending of an upgrade request, or sends an upgrade request through the application of a mobile device such as a mobile phone that communicates with the first terminal, or automatically sends an upgrade request when the network environment of the first terminal meets the upgrade requirements (or called silent upgrade) Wait.
  • two-way authentication may be performed between the first terminal and the server to establish secure communication.
  • a public key infrastructure (PKI) method can be used for mutual authentication between the first terminal and the server.
  • the first terminal can verify the digital certificate of the server in the PKI to realize the
  • the server can verify the digital certificate of the first terminal in the PKI to realize the authentication of the server to the first terminal.
  • the first terminal and the server may also use other methods to perform mutual authentication according to actual application scenarios, which is not specifically limited in the embodiment of the present application.
  • Step S102 The first terminal obtains one or more second data blocks from the second terminal, the second data blocks are used for vehicle upgrade, and the second data blocks are sent by the server to the second terminal.
  • the first terminal may obtain one or more second data blocks from the second terminal through any of the P2P methods described above.
  • the number of second terminals may be one or multiple, and the embodiment of the present application does not limit the number of second terminals. For example, when the number of second terminals is one, the first terminal obtains one or more second data blocks from one second terminal. When the number of second terminals is multiple, the first terminal obtains one or more second data blocks from one or more second terminals.
  • step S102 and step S101 can be interchanged, that is, the first terminal may first obtain one or more first data blocks, and then obtain one or more second data blocks.
  • the first terminal may also first obtain one or more second data blocks, and then obtain one or more first data blocks, which is not specifically limited in the embodiment of the present application.
  • step S102 may be: the first terminal sends data to the terminal according to the association relationship.
  • the second terminal sends a data block acquisition request; the first terminal receives at least one second data block returned by the second terminal in response to the data block acquisition request.
  • each data block can uniquely correspond to a data block identifier
  • the data block identifier can be an identifier such as a number, a name, etc.
  • each terminal can uniquely correspond to a terminal identifier
  • the terminal identifier can be the device serial number of the terminal and the communication of the terminal.
  • the specific form of the terminal identifier used by each terminal may be different, and for different data blocks, the data block identifier used by each data block may be different.
  • the server can store the association relationship between the identifier of the data block and the identifier of the terminal receiving the data block, and the first terminal can determine the data block that has been received in the first terminal according to the association relationship (e.g.
  • the first terminal may separately send a data block acquisition request to each second terminal according to the association relationship, and receive one or more second data blocks returned by each second terminal.
  • the server can also verify through simple technical methods, or use other verification methods to ensure that the data block is not missing, or to ensure that the data block can meet the conditions for normal upgrade.
  • two-way authentication may be performed between the first terminal and the second terminal to establish secure communication.
  • the first terminal and the second terminal can use PKI for mutual authentication.
  • the first terminal can verify the digital certificate of the second terminal in the PKI to realize the authentication of the first terminal to the second terminal.
  • the second terminal can verify the digital certificate of the first terminal in the PKI to realize the authentication of the first terminal by the second terminal. It can be understood that the first terminal and the second terminal may also use other methods to perform mutual authentication according to actual application scenarios, which is not specifically limited in the embodiment of the present application.
  • Step S103 The first terminal obtains the vehicle upgrade package according to the first data block and the second data block.
  • the first terminal may, according to the identification of the second data block and the identification of the first data block, divide the first data block according to the sequence in the data block, etc. Integrate with the second data block to obtain a vehicle upgrade package.
  • the vehicle upgrade package can be an upgrade package for a single component system or software upgrade in a vehicle, or it can be a system or software upgrade for multiple components in a vehicle or a complete vehicle component.
  • the implementation of this application The example does not make specific restrictions on this.
  • the server can divide the vehicle upgrade package into blocks to obtain multiple data blocks, and then deliver the multiple data blocks to multiple terminals.
  • the terminal can use P2P from other terminals.
  • Obtain the data block from the OTA and obtain the vehicle upgrade package based on the data block that the terminal has received and the data block that the terminal has obtained from other terminals.
  • each terminal does not need to obtain the complete vehicle from the OTA server. Upgrade package, so it can reduce the load of the OTA server.
  • both the first data block and the second data block may be encrypted data blocks.
  • the server when the server divides the vehicle upgrade package into blocks, it may first encrypt the vehicle upgrade package, and then divide the encrypted vehicle upgrade package into blocks to obtain the encrypted first data block and the encrypted second data block. Or, when the server divides the vehicle upgrade package into blocks, it can first divide the vehicle upgrade package to obtain one or more first data blocks and one or more second data blocks, and then divide each first data block The block and each second data block are encrypted separately.
  • the embodiments of the present application do not specifically limit the specific implementation of encryption.
  • the first data block and the second data block may be stored in each terminal separately, or may be a terminal stored centrally, such as the first terminal and/or the second terminal; or the first terminal and/or the second terminal;
  • the information contained in the data block and the second data block may be separately stored in each terminal, or may be a terminal stored centrally, such as the first terminal and/or the second terminal.
  • the encryption algorithm used by the server to obtain the encrypted data block can be a symmetric encryption algorithm, or an asymmetric encryption algorithm, or any other encryption algorithm.
  • the embodiment of this application does not specifically limit the encryption algorithm, which can be It is understood that for data blocks encrypted by using different encryption methods, the identification of the encryption algorithm can be carried in the data block. When decrypting, the corresponding decryption algorithm can be adopted according to the identification of the encryption algorithm, which is not specifically limited in the embodiment of this application. .
  • the data block length of the first data block and the data block length of the at least one second data block are both integer multiples of the packet length of the symmetric encryption algorithm.
  • the length of the vehicle upgrade package inputting the symmetric encryption algorithm may be an integer multiple of the packet length of the encryption algorithm, for example, the packet length may be 8 bytes, 16 bytes, or 128 bytes.
  • the length of the vehicle upgrade package is usually random and may not meet the condition of an integer multiple of the packet length. Therefore, the vehicle upgrade package can be added with a padding part to make the total length reach an integer multiple of the packet length, and then the vehicle upgrade package can be divided into blocks. Multiple data blocks whose length is an integer multiple of the packet length of the encryption algorithm. For example, when the packet length is 128 bytes, the length of the first data block and the second data block may both be 128*n, and n is a natural number.
  • the decapsulator by dividing the vehicle upgrade package into data blocks of integer multiples of the packet length, it can be ensured that the decapsulator always consumes the same amount of time to process the encrypted message, thereby effectively resisting timing attacks and making the encrypted message confidential. Sexual protection and integrity protection are guaranteed.
  • the first terminal when the first terminal is connected to the OTA server, the first terminal can obtain the packet length of the first data block and the second data block from the OTA server, as well as the key and key for encrypting the data block The first terminal can decrypt the first data block and the second data block according to the key within the valid time of the key.
  • the The decryption method can be:
  • the first terminal receives a data block (including the first data block or the second data block), the received data block is immediately decrypted.
  • the first terminal may Having completed the decryption of the previously received data block, the first terminal only needs to wait for the time to decrypt the last data block to complete the decryption of all data blocks. That is, in the embodiment of this application, the first terminal is receiving The process of decrypting data blocks at the same time. Therefore, compared with the method of unified decryption after the first terminal completes receiving all data blocks, the method of the embodiment of the present application can improve the decryption efficiency and reduce the download time of the upgrade package.
  • the first terminal may also perform unified decryption on all data blocks after receiving all data blocks (including the first data block or the second data block), which is not specifically limited in the embodiment of the present application.
  • both the first data block and the second data block include: the signature of the server that generates the upgrade package for the vehicle system upgrade.
  • the OTA server may sign the upgrade package or digitally sign the content of the upgrade package based on the public key password before dividing the upgrade package of the complete vehicle system upgrade, and the signature may be corresponding to the OTA server Identification, for example, the signature may be the device identification of the OTA server, or the identification of the operator operating the OTA server, or the signature may also include the identification of the operator of the vehicle, etc., and the signature may be added to the first In the first data block and the second data block, when the first terminal obtains the first data block and the second data block, it can determine the first data block and the second data block according to the signatures carried in the first data block and the second data block.
  • the second data block is sent by the OTA server allowed by the first terminal, it can be understood that if the signatures carried by the first data block and the second data block are not the signature of the OTA server, they can be discarded and the signature containing the OTA server can be obtained again In order to prevent the first terminal from receiving unsafe data blocks sent by other devices, the security of data block transmission is improved.
  • both the first data block and the second data block include the signature of the server that generates the upgrade package of the vehicle upgrade, and when the first terminal confirms that the signature of the first data block is the signature of the server that the vehicle upgrade package is downloaded , The first terminal starts to decrypt the first data block at the first time, and receives the second data block at the second time, the first time is before the second time; or the first terminal confirms that the signature of the second data block is a vehicle upgrade package In the case of downloading the signature of the server, the first terminal starts to decrypt the second data block at the third time, receives the first data block at the fourth time, and the third time is before the fourth time.
  • FIG. 3 is a specific upgrade system that can be applied to the vehicle upgrade package processing method provided by the embodiment of the application.
  • the upgrade system includes: a server 30, a first terminal 31, and a second terminal 32.
  • the number of the second terminal 32 is three, which are respectively numbered as the second terminal 320, the second terminal 321, and the second terminal 32.
  • the server 30 may be an OTA server.
  • the server 30 can also be a proxy server.
  • the proxy server can be a server serving the fleet.
  • the proxy server can first pass two-way authentication with the OTA server to establish secure communication.
  • the hardware and software information of the vehicle is sent to the OTA server.
  • the OTA server After the OTA server generates the vehicle upgrade package, it can issue the vehicle upgrade package to the proxy server.
  • the OTA server can also divide the vehicle upgrade package into blocks and issue it to multiple Proxy server, multiple proxy servers obtain the vehicle upgrade package through the above-mentioned P2P method, which is not specifically limited in the embodiment of the present application.
  • the first terminal and the second terminal may both be vehicles.
  • Figure 4 shows a schematic diagram of the logical framework of the vehicle-mounted equipment in the vehicle. It is understandable that the vehicle-mounted equipment in Figure 4 may be all the vehicles included in the vehicle. Vehicle-mounted equipment or parts of vehicle-mounted equipment. These vehicle-mounted devices can be divided into several domains, each domain includes one or more vehicle-mounted devices, and each domain has a domain administrator, which can also be called a domain controller.
  • a mobile data center mobile data center
  • MDC mobile data center
  • sensors sensors
  • global positioning system global positioning system
  • the vehicle control unit (VCU), one or more electronic control units (ECU) and wireless power transmission (WPT) belong to a domain, and the VCU is the domain controller of this domain .
  • the human machine interface (HMI) and one or more ECUs belong to a domain, and the HMI is the domain controller of this domain.
  • the body control module (BCM), one or more ECUs, and passive entry passive start (PEPS) belong to one domain, and the BCM is the domain controller of this domain.
  • the domain controller is connected to a gateway (gateway, GW), and the gateway is connected to devices such as on-board diagnostics (OBD) and telematics box (T-Box).
  • OBD on-board diagnostics
  • T-Box telematics box
  • the domain controller can communicate with T-Box and other devices through the gateway, and the devices in the domain can communicate with the gateway and other devices through the domain controller.
  • the vehicle downloads the vehicle upgrade package through T-Box, and determines the source of the vehicle upgrade package. After determining that the vehicle upgrade package is issued by the OTA server, it can be forwarded to it according to the corresponding device number of the upgrade package.
  • Corresponding in-vehicle equipment in the vehicle for vehicle-mounted equipment with relatively large computing and storage capabilities (such as MDC, HMI, etc.) can be packaged by itself, which can reduce the consumption of T-Box storage resources. After grouping, the vehicle-mounted components in the vehicle can be packaged.
  • the signature verification of the upgrade package is further performed, and after it is determined that the vehicle upgrade package is issued by the OTA server, operations such as upgrade installation are performed, so that the reliability of the upgrade data package can be improved.
  • an optional specific implementation step of the vehicle upgrade package processing method may be:
  • Step S301 The first vehicle obtains one or more first data blocks from the server, and the second vehicle obtains one or more second data blocks from the server.
  • Step S302 The first vehicle obtains one or more second data blocks from the second vehicle.
  • Step S303 The first vehicle obtains the vehicle upgrade package according to the acquired first data block and second data block.
  • the method for partitioning the vehicle upgrade package by the server and the method for obtaining the first data block and the second data block by the first vehicle may refer to the record in the embodiment corresponding to FIG. 2, which will not be repeated here.
  • the server 30 is a fleet server, and the fleet server obtains the fleet (for example, including the first vehicle 31, the first vehicle 31, the first vehicle 31, the first vehicle 31, the first vehicle The vehicle upgrade package required by the second vehicle 320, the second vehicle 321, and the second vehicle 322), and then during the routine maintenance of the fleet, in the case of wireless-fidelity (Wireless-Fidelity, Wi-Fi), the first vehicle 31 , The second vehicle 320, the second vehicle 321, and the second vehicle 322 are linked to the fleet server.
  • the fleet server is connected to the first vehicle 31, the second vehicle 320, the second vehicle 321, and the second vehicle 322 Perform two-way authentication (such as PKI-based authentication).
  • the encryption key k of the upgrade package is encrypted (encrypted with the public key of the vehicle) and then sent to the first vehicle 31, the second vehicle 320, and the second vehicle 321 and the second vehicle 322, for example, the first vehicle 31 downloads the first part of the vehicle upgrade package, the second vehicle 320 downloads the second part of the vehicle upgrade package, and the second vehicle 321 downloads the third part of the vehicle upgrade package;
  • a vehicle 31 can download the second part of the vehicle upgrade package from the second vehicle 320 and download the third part of the vehicle upgrade package from the second vehicle 321, and then use the key k to decrypt to obtain the complete vehicle upgrade package.
  • the second vehicle 320 may also obtain a complete vehicle upgrade package from the first vehicle 31 and the second vehicle 321, and the second vehicle 321 may also obtain a complete vehicle upgrade package from the first vehicle 31 and the second vehicle 320. .
  • the second vehicle 322 can be the first vehicle 31, the second vehicle 320, or the second vehicle 321.
  • the specific process for each vehicle to download the vehicle upgrade package is not limited.
  • the fleet server serves as a proxy server, so that the vehicle can be easily upgraded during maintenance and other processes.
  • the performance of the vehicle upgrade package can be tested before step S301. For example, you can first A vehicle A obtains the vehicle upgrade package from the server 30, and then vehicle A updates according to the vehicle upgrade package. If the update is successful, vehicle A sends a message indicating that the update is successful to the server 30, and then further performs step S301 and subsequent steps, so that Increase the probability of successful vehicle upgrades.
  • FIG. 6 is a specific upgrade system that can be applied to the vehicle upgrade package processing method provided by the embodiment of the application.
  • the upgrade system includes: a server 60, a first terminal 61, and a second terminal 62.
  • the number of the second terminal 62 is three, which are respectively numbered as the second terminal 620, the second terminal 621, and the second terminal 621.
  • the server 60 may be an OTA server.
  • the server 60 can also be a proxy server.
  • the proxy server can first pass the two-way authentication with the OTA server to establish secure communication. After that, the proxy server sends the hardware and software information of the vehicle served by the vehicle auxiliary equipment. Send it to the OTA server.
  • the OTA server After the OTA server generates the vehicle upgrade package, it can send the vehicle upgrade package to the proxy server. It is understandable that the OTA server can also divide the vehicle upgrade package into blocks and send it to multiple proxy servers.
  • the server obtains the vehicle upgrade package through the aforementioned P2P method, which is not specifically limited in the embodiment of the present application.
  • the second vehicle auxiliary device may be a device for charging the vehicle (such as a charging pile, etc.), or a mobile device.
  • the terminal, etc., as shown in Fig. 7, an optional specific implementation step of the vehicle upgrade package processing method may be:
  • Step S701 The first vehicle auxiliary device obtains one or more first data blocks from the server, and the second vehicle auxiliary device obtains one or more second data blocks from the server.
  • Step S702 The first vehicle auxiliary device obtains one or more second data blocks from the second vehicle auxiliary device.
  • Step S703 The first vehicle auxiliary device obtains the vehicle upgrade package according to the acquired first data block and second data block.
  • the method for partitioning the vehicle upgrade package by the server and the method for obtaining the first data block and the second data block by the first vehicle auxiliary device may refer to the record in the embodiment corresponding to FIG. 2, which will not be repeated here.
  • the server 60 is an OTA server, and the OTA server generates a vehicle upgrade package, and then notifies the first vehicle auxiliary device 61, the second vehicle auxiliary device 620, The second vehicle auxiliary equipment 621 and the second vehicle auxiliary equipment 622 have vehicle upgrade packages to be downloaded.
  • the OTA server and the first vehicle auxiliary equipment 61, the second vehicle auxiliary equipment 620, the second vehicle auxiliary equipment 621 and the second vehicle auxiliary equipment 622 Perform two-way authentication (such as PKI-based authentication).
  • the data block encrypted with the key k is issued to the first vehicle auxiliary equipment 61, the second vehicle auxiliary equipment 620, the second vehicle auxiliary equipment 621, and the first vehicle auxiliary equipment 61, the second vehicle auxiliary equipment 620, and the second vehicle auxiliary equipment 620.
  • the second vehicle auxiliary device 622 for example, the first vehicle auxiliary device 61 downloads the first part of the vehicle upgrade package, the second vehicle auxiliary device 620 downloads the second part of the vehicle upgrade package, and the second vehicle auxiliary device 621 downloads the first part of the vehicle upgrade package.
  • the first vehicle auxiliary device 61 can download the second part of the vehicle upgrade package from the second vehicle auxiliary device 620, and download the third part of the vehicle upgrade package from the second vehicle auxiliary device 621, and then use the key k to decrypt Get a complete vehicle upgrade package.
  • the second vehicle auxiliary equipment 620 may also obtain a complete vehicle upgrade package from the first vehicle auxiliary equipment 61 and the second vehicle auxiliary equipment 621, and the second vehicle auxiliary equipment 621 may also obtain a complete vehicle upgrade package from the first vehicle auxiliary equipment 61 and the second vehicle auxiliary equipment 61. Second, a complete vehicle upgrade package is obtained from the vehicle auxiliary equipment 620.
  • the second vehicle auxiliary device 622 can obtain the complete vehicle upgrade package from the first vehicle auxiliary device 61, the second vehicle auxiliary device The device 620 or the second vehicle auxiliary device 621 obtains the vehicle upgrade package.
  • the embodiment of the present application does not limit the specific process of downloading the vehicle upgrade package by each vehicle auxiliary device.
  • the vehicle 63 after the vehicle 63 receives the upgrade notification, it can establish a link with the OTA server to obtain the encryption key k of the vehicle upgrade package, and pass the first vehicle auxiliary device 61, the second vehicle auxiliary device 61, and the second vehicle 63 on the vehicle 63.
  • the vehicle auxiliary equipment 620, the second vehicle auxiliary equipment 621, or the second vehicle auxiliary equipment 622 When the vehicle auxiliary equipment 620, the second vehicle auxiliary equipment 621, or the second vehicle auxiliary equipment 622 is charged, the first vehicle auxiliary equipment 61, the second vehicle auxiliary equipment 620, the second vehicle auxiliary equipment 621, or the second vehicle auxiliary equipment 622 may be Receive the upgrade package acquisition request sent by the vehicle, and perform two-way authentication with the vehicle.
  • the first vehicle auxiliary device 61, the second vehicle auxiliary device 620, the second vehicle auxiliary device 621, or the second vehicle auxiliary device 622 can encrypt the encrypted vehicle
  • the upgrade package is sent to the vehicle, and the vehicle 63 decrypts the encrypted vehicle upgrade package with the key k to obtain the vehicle upgrade package. Therefore, the vehicle 63 can download the vehicle upgrade package while charging. In a static state, you can usually have a better network environment. On the other hand, because the vehicle is connected to the charging auxiliary equipment, it can also avoid the interruption of the on-board upgrade package download due to insufficient vehicle power, which can better improve the user’s vehicle An upgraded experience.
  • the correctness of the vehicle upgrade package can be tested before step S701. For example, you can First, a vehicle A obtains the vehicle upgrade package from the first vehicle auxiliary device 61, the second vehicle auxiliary device 620, the second vehicle auxiliary device 621, or the second vehicle auxiliary device 622, and then the vehicle A is updated according to the vehicle upgrade package.
  • step S701 and the subsequent steps are further executed, so that it can Improve the probability of a successful upgrade of the on-board system.
  • Figure 8 is a schematic structural diagram of a first terminal provided by an embodiment of the application, including a receiving module 801 and a processing module 802.
  • the receiving module is configured to receive one or more first data blocks from the server. Used for vehicle upgrade; processing module, used for the first terminal to obtain one or more second data blocks from the second terminal, the second data block is used for vehicle system upgrade, the second data block is sent by the server to the second terminal; And, according to the first data block and the second data block, a vehicle upgrade package is obtained.
  • the first data block and the second data block are both encrypted data blocks
  • the data block length of the first data block and the data block length of the at least one second data block are both based on the encryption algorithm An integer multiple of the packet length.
  • the processing module is specifically configured to start decrypting the first data block at the first time; to receive the second data block at the second time, the first time is before the second time; or, at the third time Start to decrypt the second data block, receive the first data block at the fourth time, and the third time is before the fourth time.
  • both the first data block and the second data block include: the signature of the server that generates the upgrade package for the vehicle system upgrade; the processing module is specifically used to: confirm that the signature of the first data block is the vehicle In the case of the signature of the server of the upgrade package of the system upgrade, decrypt the first data block at the first time; in the case of confirming that the signature of the second data block is the signature of the server of the upgrade package of the vehicle system upgrade, in the third Time to start decrypting the second data block.
  • the server saves the association relationship between the data block after the vehicle upgrade package is divided into blocks and the terminal receiving the data block; the processing module is specifically used to: send the data block to the second terminal according to the association relationship Obtaining request; receiving one or more second data blocks returned by the second terminal in response to the data block obtaining request.
  • the server is a proxy server
  • the vehicle upgrade package is obtained by downloading the OTA server from the air by the proxy server
  • the first terminal is a vehicle.
  • the first terminal is a charging pile.
  • it further includes: a receiving module, which is also used to receive an upgrade package acquisition request sent by the vehicle; a processing module, which is also used to send an upgrade package acquisition request to the vehicle when the vehicle passes the safety verification of the charging pile The vehicle returns to the vehicle upgrade package.
  • the receiving module is specifically configured to: when the first terminal passes the security authentication of the server, the first terminal receives the first data block from the server.
  • the device in this embodiment can be used to execute the steps executed by the first terminal in the foregoing method embodiment, and its implementation principles and technical effects are similar, and will not be repeated here.
  • FIG. 9 is a schematic structural diagram of a first terminal provided by an embodiment of the application, including a processing module 901 and a sending module 902, where the processing module is used to block the vehicle upgrade package to obtain multiple data blocks; the sending module, It is used to distribute multiple data blocks to at least one terminal; each terminal is used to obtain a vehicle upgrade package according to the data block received by the terminal and the data blocks of other terminals in at least one terminal.
  • the processing module is specifically used to encrypt the vehicle upgrade package according to the encryption algorithm, and divide the encrypted vehicle upgrade package into blocks to obtain multiple data blocks.
  • the server is a proxy server, and the processing module is also used to download the OTA server from the air to obtain the vehicle upgrade package.
  • the processing module is specifically used to: send an on-board upgrade package acquisition request to the over-the-air download OTA server; the on-board upgrade package acquisition request includes: the type and version of the vehicle operating system; the proxy server passes the security verification of the OTA server In the case of receiving the vehicle upgrade package sent by the OTA server; wherein, the vehicle upgrade package is generated by the OTA server according to the type and version of the operating system of the vehicle.
  • the processing module is also used to record the association relationship between the data block after the vehicle upgrade package is divided into blocks and the terminal receiving the data block.
  • the device in this embodiment can be used to execute the steps executed by the server in the foregoing method embodiment, and its implementation principles and technical effects are similar, and will not be repeated here.
  • FIG. 10 is a schematic diagram of the hardware structure of the vehicle upgrade package processing device provided by this application.
  • the vehicle upgrade package processing device includes: a memory 1001, a processor 1002, and a communication interface 1003.
  • the memory 1001, the processor 1002, and the communication interface 1003 can communicate; for example, the memory 1001, the processor 1002, and the communication interface 1003 can communicate.
  • the communication interface 1003 may communicate via a communication bus 1004, the memory 1001 is used to store a computer program, and the processor 1002 executes the computer program to implement the method shown in the foregoing method embodiment.
  • the communication interface 1003 may also include a transmitter and/or a receiver.
  • the foregoing processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (digital signal processors, DSP), application specific integrated circuits (ASICs). )Wait.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like. The steps of the method disclosed in this application can be directly embodied as being executed and completed by a hardware processor, or executed and completed by a combination of hardware and software modules in the processor.
  • the present application provides a readable computer storage medium, where the readable computer storage medium is used to store a computer program, and the computer program is used to implement the method shown in the foregoing method embodiment.
  • the present application also provides a communication system, including a first terminal as shown in FIG. 8 and a server as shown in FIG. 9.
  • This application provides a system chip, which is used to support a communication device to implement the functions shown in the embodiments of this application (for example, a first terminal receives one or more first data blocks from a server, and the first data blocks are used for vehicles). Upgrade; the first terminal obtains one or more second data blocks from the second terminal. The second data blocks are used to upgrade the in-vehicle system. The second data blocks are sent by the server to the second terminal; the first terminal is based on the first data block. And the second data block to obtain the vehicle upgrade package), the chip is specifically used for a chip system, and the chip system may be composed of a chip, or may include a chip and other discrete devices.
  • the chip includes a processing unit.
  • the chip may also include a communication unit.
  • the processing unit may be, for example, a processor.
  • the communication unit For example, it can be an input/output interface, a pin, or a circuit.
  • the processing unit executes all or part of the actions performed by each processing module in the embodiment of this application, and the communication unit can execute corresponding receiving or sending actions.
  • the processing module of the receiving device in this application may be The processing unit of the chip, the receiving module or the sending module of the control device is the communication unit of the chip.
  • These computer program instructions can be provided to the processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing equipment to generate a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing equipment can be used to generate It is a device that realizes the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • the disclosed device and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware, or may be implemented in the form of hardware plus software functional units.
  • the above-mentioned integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium.
  • the above-mentioned software functional unit is stored in a storage medium, and includes several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute the method described in each embodiment of the present application. Part of the steps.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Landscapes

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

Abstract

一种车辆升级包处理方法和装置,所述方法包括:第一终端(121)从服务器(11)接收一个或多个第一数据块,第一数据块用于车辆升级(S101);第一终端(121)从第二终端(122)获取一个或多个第二数据块,第二数据块用于车辆升级,第二数据块是服务器(11)发送给第二终端(122)的(S102);第一终端(121)根据第一数据块和第二数据块,得到车辆升级包(S103)。即服务器(11)可以将车辆升级包分块,得到多个数据块,然后将多个数据块下发给多个终端,之后,每个终端可以根据点对点的方式,根据该终端已经接收的数据块,以及该终端从其他终端中获取的数据块,得到车辆升级包,在该过程中,每个终端不需要都从OTA服务器获取完整的车辆升级包,因此能够降低OTA服务器的负载。

Description

车辆升级包处理方法和装置
本申请要求于2019年11月14日提交中国专利局、申请号为2019111136671、申请名称为“车辆升级包处理方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术,尤其涉及一种车辆升级包处理方法和装置。
背景技术
随着车联网技术的发展,越来越多的车辆中设置了涉及软件的操作系统。在软件更新时,车辆可以基于空中下载技术(over the air,OTA),从OTA服务器下载车辆升级包,并通过车辆升级包实现软件更新。
通常的,每当车辆发出升级请求,OTA服务器就需要响应该车辆的升级请求,将车辆升级包下发给车辆。
但是,因为OTA服务器要为每辆车辆提供车辆升级包,导致OTA服务器的负荷较大。
发明内容
本申请实施例提供一种车辆升级包处理方法和装置,以降低OTA服务器的负荷。
第一方面,本申请实施例提供一种车辆升级包处理方法,包括:第一终端从服务器接收一个或多个第一数据块,第一数据块用于车辆升级;第一终端从第二终端获取一个或多个第二数据块,第二数据块用于车载系统升级,第二数据块是服务器发送给第二终端的;第一终端根据第一数据块和第二数据块,得到车辆升级包。即服务器可以将车辆升级包分块,得到多个数据块,然后将多个数据块下发给多个终端,之后,每个终端可以根据点对点(peer to peer,P2P)的方式,根据该终端已经接收的数据块,以及该终端从其他终端中获取的数据块,得到车辆升级包,在该过程中,每个终端不需要都从OTA服务器获取完整的车辆升级包,因此能够降低OTA服务器的负载。
在一种可能的设计中,第一数据块和第二数据块均为加密后的数据块,且第一数据块的数据块长度和至少一个第二数据块的数据块长度均为加密算法的分组长度的整数倍。通过将车辆升级包分为分组长度整数倍的数据块,能够确保解封装者对加密报文的处理总消耗相同的时间,从而有效抵御计时攻击,使得加密报文的机密性保护和完整性保护得到保障。
在一种可能的设计中,第一终端根据第一数据块和至少一个第二数据块,得到车辆升级包,包括:第一终端在第一时间开始解密第一数据块;第一终端在第二时间接收第二数据块,第一时间在第二时间之前;或,第一终端在第三时间开始解密第二数据块,第一终端在第四时间接收第一数据块,第三时间在第四时间之前。本申请实施 例中,第一终端是边接收数据块边解密的过程,因此相较于第一终端完成所有的数据块接收后再统一解密的方法,本申请实施例的方法可以提升解密效率和减少升级包的下载时间。
在一种可能的设计中,第一数据块和第二数据块均包括:生成车辆系统升级的升级包的服务器的签名;第一终端在第一时间开始解密第一数据块,包括:在第一终端确认第一数据块的签名为车辆系统升级的升级包的服务器的签名的情况下,第一终端在第一时间开始解密第一数据块;第一终端在第三时间开始解密第二数据块,包括:在第一终端确认第二数据块的签名为车辆系统升级的升级包的服务器的签名的情况下,第一终端在第三时间开始解密第二数据块。则若第一数据块和第二数据块携带的签名不是OTA服务器的签名,则可以丢弃,并重新获取包含OTA服务器的签名的第一数据块和第二数据块,从而避免第一终端接收到其他设备发送的不安全的数据块,提升数据块传输的安全性。
在一种可能的设计中,服务器中保存有车辆升级包被分块后的数据块与接收数据块的终端的关联关系;第一终端从第二终端获取一个或多个第二数据块,包括:第一终端根据关联关系,向第二终端发送数据块获取请求;第一终端接收第二终端响应于数据块获取请求返回的一个或多个第二数据块。则第一终端可以根据服务器提供的上述关联关系,精准的从相应的第二终端获取第二数据块。
在一种可能的设计中,服务器为代理服务器,车辆升级包为代理服务器从空中下载OTA服务器获取的;第一终端为车辆。则代理服务器可以协助车辆进行升级,降低OTA服务器的负荷。
在一种可能的设计中,第一终端为充电桩。
在一种可能的设计中,还包括:充电桩接收车辆发送的升级包获取请求;在车辆通过充电桩的安全验证的情况下,充电桩根据升级包获取请求向车辆返回车辆升级包。从而,车辆可以实现边充电边下载车辆升级包,可以理解,因为车辆充电时一方面车辆通常处于静止状态,通常可以有较好的网络环境,另一方面,因为车辆与充电辅助设备连接,也可以避免因为车辆电量不足造成车载升级包下载中断等现象发生,可以较好地提升用户进行车辆升级的体验
在一种可能的设计中,第一终端从服务器接收第一数据块,包括:在第一终端通过服务器的安全认证的情况下,第一终端从服务器接收第一数据块。第一终端与服务器进行安全认证之后再接收第一数据块,可以提升第一终端接收的第一数据块的安全性。
第二方面,本申请实施例提供一种车辆升级包处理方法,包括:服务器对车辆升级包分块,得到多个数据块;服务器将多个数据块分发给至少一个终端;每个终端用于根据该终端所接收的数据块,以及至少一个终端中其他终端的数据块,得到车辆升级包。
在一种可能的设计中,服务器对车辆升级包分块,得到多个数据块包括:服务器根据加密算法对车辆升级包加密,以及将加密后的车辆升级包分块得到多个数据块。
在一种可能的设计中,服务器为代理服务器,服务器对车辆升级包分块之前,还包括:代理服务器从空中下载OTA服务器获取车辆升级包。
在一种可能的设计中,代理服务器从空中下载OTA服务器获取车辆升级包,包括:代理服务器向空中下载OTA服务器发送车载升级包获取请求;车载升级包获取请求包括:车辆的操作系统类型和版本;在代理服务器通过OTA服务器的安全验证的情况下,代理服务器接收OTA服务器发送的车辆升级包;其中,车辆升级包为OTA服务器根据车辆的操作系统类型和版本生成的。
在一种可能的设计中,服务器将多个数据块分发给至少一个终端之后,还包括:服务器记录车辆升级包被分块后的数据块与接收数据块的终端的关联关系。
第三方面,本申请实施例提供一种第一终端,包括:接收模块,用于从服务器接收一个或多个第一数据块,第一数据块用于车辆升级;处理模块,用于第一终端从第二终端获取一个或多个第二数据块,第二数据块用于车载系统升级,第二数据块是服务器发送给第二终端的;以及,根据第一数据块和第二数据块,得到车辆升级包。
在一种可能的设计中,第一数据块和第二数据块均为加密后的数据块,且第一数据块的数据块长度和至少一个第二数据块的数据块长度均为加密算法的分组长度的整数倍。
在一种可能的设计中,处理模块,具体用于在第一时间开始解密第一数据块;在第二时间接收第二数据块,第一时间在第二时间之前;或,在第三时间开始解密第二数据块,在第四时间接收第一数据块,第三时间在第四时间之前。
在一种可能的设计中,第一数据块和第二数据块均包括:生成车辆系统升级的升级包的服务器的签名;处理模块,具体还用于:在确认第一数据块的签名为车辆系统升级的升级包的服务器的签名的情况下,在第一时间开始解密第一数据块;在确认第二数据块的签名为车辆系统升级的升级包的服务器的签名的情况下,在第三时间开始解密第二数据块。
在一种可能的设计中,服务器中保存有车辆升级包被分块后的数据块与接收数据块的终端的关联关系;处理模块具体还用于:根据关联关系,向第二终端发送数据块获取请求;接收第二终端响应于数据块获取请求返回的一个或多个第二数据块。
在一种可能的设计中,服务器为代理服务器,车辆升级包为代理服务器从空中下载OTA服务器获取的;第一终端为车辆。
在一种可能的设计中,第一终端为充电桩。
在一种可能的设计中,还包括:接收模块,还用于接收车辆发送的升级包获取请求;处理模块,还用于在车辆通过充电桩的安全验证的情况下,根据升级包获取请求向车辆返回车辆升级包。
在一种可能的设计中,接收模块,具体用于:在第一终端通过服务器的安全认证的情况下,第一终端从服务器接收第一数据块。
第四方面,本申请实施例提供一种服务器,包括:处理模块,用于对车辆升级包分块,得到多个数据块;发送模块,用于将多个数据块分发给至少一个终端;每个终端用于根据该终端所接收的数据块,以及至少一个终端中其他终端的数据块,得到车辆升级包。
在一种可能的设计中,处理模块具体用于:根据加密算法对车辆升级包加密,以及将加密后的车辆升级包分块得到多个数据块。
在一种可能的设计中,服务器为代理服务器,处理模块还用于:从空中下载OTA服务器获取车辆升级包。
在一种可能的设计中,处理模块具体用于:向空中下载OTA服务器发送车载升级包获取请求;车载升级包获取请求包括:车辆的操作系统类型和版本;在代理服务器通过OTA服务器的安全验证的情况下,接收OTA服务器发送的车辆升级包;其中,车辆升级包为OTA服务器根据车辆的操作系统类型和版本生成的。
在一种可能的设计中,处理模块,还用于记录车辆升级包被分块后的数据块与接收数据块的终端的关联关系。
第五方面,本申请实施例提供一种车辆升级包处理装置,该车辆升级包处理装置可以为第一终端中的芯片或者芯片上系统,包括处理器和接口电路,接口电路用于接收代码指令并传输至处理器;处理器用于运行代码指令,以执行如第一方面或第一方面的任一种可能的设计的方法。
第六方面,本申请实施例提供一种车辆升级包处理装置,该车辆升级包处理装置可以为服务器中的芯片或者芯片上系统,包括处理器和接口电路,接口电路用于接收代码指令并传输至处理器;处理器用于运行代码指令,以执行如第二方面或第二方面的任一种可能的设计的方法。
第七方面,本申请实施例提供一种车辆升级包处理装置,包括存储器和处理器,处理器执行存储器中的程序指令,用于实现如第一方面或第一方面的任一种可能的设计的方法。
第八方面,本申请实施例提供一种车辆升级包处理装置,包括存储器和处理器,处理器执行存储器中的程序指令,用于实现如第二方面或第二方面的任一种可能的设计的方法。
第九方面,本申请实施例提供一种可读计算机存储介质,可读计算机存储介质用于存储计算机程序,计算机程序用于实现如第一方面或第一方面的任一种可能的设计的方法。
第十方面,本申请实施例提供一种可读计算机存储介质,可读计算机存储介质用于存储计算机程序,计算机程序用于实现如第二方面或第二方面的任一种可能的设计的方法。
第十一方面,本申请实施例提供一种车辆升级包处理系统,包括第三方面及对应的可行实施方式的通信装置以及第四方面及对应的可行实施方式的通信装置。
应当理解的是,本申请的第二方面至第十一方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例的车辆升级包处理方法应用的一种网络系统示意图;
图2为本申请实施例提供的一种车辆升级包处理方法的流程示意图;
图3为本申请实施例的车辆升级包处理方法应用的另一种网络系统示意图;
图4为本申请实施例的车辆中车载设备的逻辑框架示意图;
图5为本申请实施例提供的一种具体车辆升级包处理方法的流程示意图;
图6为本申请实施例的车辆升级包处理方法应用的又一种网络系统示意图;
图7为本申请实施例提供的另一种具体车辆升级包处理方法的流程示意图;
图8为本申请实施例提供的一种第一终端的结构示意图;
图9为本申请实施例提供的一种服务器的结构示意图;
图10为本申请实施例提供的一种车辆升级包处理装置的硬件结构示意图。
具体实施方式
下面将结合附图对本实施例的实施方式进行详细描述。
本申请实施例提供的车辆升级包处理方法可以应用于图1的网络系统,该系统中可以包括服务器11、第一终端121和第二终端122,第二终端122的数量可以为一个也可以为多个。
其中,服务器11可以是用于下发车辆升级包的OTA服务器,也可以是已从OTA服务器中获取了车辆升级包的车队服务器或其他任意可能的服务器,本申请实施例对此不作具体限定。第一终端121可以是任意形式的车辆,第一终端121也可以是任意形式的车辆辅助设备(例如车辆充电桩等),第一终端121也可以是移动终端(例如手机、平板、可穿戴设备等),本申请实施例对此不作具体限定。第二终端122可以是任意形式的车辆,第二终端122也可以是任意形式的车辆辅助设备(例如车辆充电桩等),第二终端122也可以是移动终端(例如手机、平板、可穿戴设备等),本申请实施例对此不作具体限定。第一终端121与第二终端122可以是相同类型的设备,例如第一终端121与第二终端122均为车辆或车辆辅助设备或移动终端等。第一终端121与第二终端122也可以是不同类型的设备,例如第一终端121为车辆,第二终端122为车辆辅助设备或移动终端等,本申请实施例对此不作具体限定。在后续的实施例中将详细介绍服务器11、第一终端121以及第二终端122为各种具体设备时的车辆升级包处理方式,在此不再赘述。
第一终端121和第二终端122均与服务器11之间建立通信连接,例如,第一终端121和第二终端122均可通过超文本传输协议(hyper text tansfer protocol,HTTP)或基于安全套接字层的超文本传输协议(hyper text transfer trotocol over secure socket layer,HTTPS)等协议与服务器11之间建立通信连接,本申请实施例对此不做任何限制。
第一终端121与第二终端122之间可通过任意形式的通信连接实现P2P通信,示例性的,第一终端121与第二终端122之间可以通过无线传输实现P2P通信,例如蓝牙(bluetooth)传输、无载波通信(ultra wide band,UWB)、或红外传输等。
或者,第一终端121与第二终端122之间也可以通过有线传输实现P2P通信,本申请实施例对此不作具体限定。
或者,第一终端121和第二终端122可以基于索引服务器实现P2P通信,该索引服务器可以是服务器11也可以是其他任意的服务器。示例性的,该索引服务器中可以存储有包括资源列表,该资源列表中包括第一终端121与第一终端121中的资源标识的关联关系,以及第二终端122与第二终端122中的资源标识的关联关系,在第一终端121希望获取某一资源时,第一终端121从该索引服务器中获取各终端中的资源列 表,从资源列表中确定包括该资源的标识的终端为第二终端122,则第一终端121进一步可以通过上述的有线通信或无线通信从第二终端122中获取该资源。
图2为本申请实施例提供的一种车辆升级包处理方法的流程示意图,如图2所示,该方法包括:
步骤S101:第一终端从服务器接收一个或多个第一数据块,第一数据块用于车辆升级。
本申请实施例中,服务器可以是OTA服务器,也可以是除OTA服务器外的其他服务器。在服务器为OTA服务器时,服务器可以生成用于车辆升级的升级包。在服务器为其他服务器时,服务器可以先从OTA服务器中获取用于车辆升级的升级包。
服务器可以将一用于车辆升级的完整升级包分块得到多个数据块,可以理解,根据升级包具体针对的设备,各升级包可以对应有设备编号和升级包序号,在分块时,服务器可以根据各数据块在升级包中的位置等对数据块进行标识,使得后续可以根据该多个数据块的标识对数据块进行整合重新得到该完整升级包,本申请实施例对数据块的具体标识方式和标识内容不作具体限定。一个实施例中,一个数据块可以是一个完整的数据包。
示例性的,在一种具体实现中,分块后每个数据块的头部可以包括版本号、升级包序号i、设备编号j及该数据块在升级包i中的次序k中的一个或多个。比如,目前乘用车的汽车电子控制单元(electronic control unit,ECU)种类在25~100个左右,因此升级包的种类通常不超过256,相应的,升级包序号i的总个数也不超过256,可以设置升级包序号i在数据块中占1字节。适应的,汽车的种类通常也不超过256,因此设备编号(如汽车的ECU编号)j也可以占1字节。数据块在升级包i中的次序k与升级包的大小和升级方式相关,例如,升级包越大,k越大,或者,采用差分升级方式时k越小,采用整包升级的方式时,k越大,示例性的k可以占1~3字节,本申请实施例对此不作具体限定。
得到多个数据块后,服务器可以将该多个数据块分发给多个终端,本申请实施例中以多个终端中的第一终端作为执行主体,多个终端中除第一终端外的其他终端为第二终端为例进行说明,第一终端和第二终端也可能是除所述多个终端之外的终端。第一终端接收到的数据块为第一数据块,第一数据块的数量可以是一个,也可是多个。第二终端接收到的数据块为第二数据块,第二数据块的数量可以是一个,也可是多个。全部的第一数据块和全部的第二数据块可以组成该完整升级包,当然也可能存在类似于冗余的封装,在解析部分数据包的情况下也可以组成完整的升级包。这里的第一数据块也可以是指一类数据块,第二数据块指另一类数据块,不同类型的数据块的传输路径可以不同,例如经由不同的设备到达目的端。
可选的,在一种具体实现中,第一终端可以向服务器发送升级请求,升级请求中可以包括第一终端的基本信息,基本信息可以包括软件信息和/或硬件信息或车辆型号(如车辆的唯一标识码(vehicle identification number,VIN)),服务器可以响应于升级请求,向第一终端发送与该升级请求中的基本信息匹配的一个或多个第一数据块。在所述第一终端发送升级请求前,所述第一终端还可以先接收升级通知。发送升级请求的触发条件可以有多种,例如:根据第一终端中设置的定时时刻触发发送升级请求, 或根据用户在第一终端中的车载娱乐系统(in vehicle Infotainment,IVI)的屏幕中点击升级控件触发发送升级请求,或通过与第一终端通信的手机等移动设备的应用程序的触发发送升级请求、或在第一终端的网络环境符合升级需求时自动发送升级请求(或称静默升级)等。
可选的,在步骤S101之前,第一终端与服务器之间可以先进行双向认证,以建立安全通信。示例性的,第一终端与服务器之间可以采用公钥基础设施(public key infrastructure,PKI)的方式进行双向认证,比如,第一终端可以在PKI中查证服务器的数字证书,实现对第一终端对服务器的认证,服务器可以在PKI中查证第一终端的数字证书,实现对服务器对第一终端的认证。可以理解,第一终端和服务器之间还可以根据实际的应用场景,采用其他方式进行双向认证,本申请实施例对此不作具体限定。
步骤S102:第一终端从第二终端获取一个或多个第二数据块,第二数据块用于车辆升级,第二数据块是服务器发送给第二终端的。
本申请实施例中,第一终端可以通过上述描述的任意P2P方式从第二终端获取一个或多个第二数据块。第二终端的数量可以是一个,也可以是多个,本申请实施例对第二终端的数量不作限制。举例说明,在第二终端的数量为一个的情况下,第一终端从一个第二终端中获取一个或多个第二数据块。在第二终端的数量为多个的情况下,第一终端从一个或多个第二终端中获取一个或多个第二数据块。
需要说明的是,本申请实施例中,步骤S102和步骤S101的顺序可以互换,即第一终端可以先获取一个或多个第一数据块,再获取一个或多个第二数据块。第一终端也可以先获取一个或多个第二数据块,再获取一个或多个第一数据块,本申请实施例对此不作具体限定,
可选的,服务器在向多个终端分发数据块时,服务器保存各数据块与接收各数据块的终端的关联关系;步骤S102的一种具体实现可以是:第一终端根据该关联关系,向第二终端发送数据块获取请求;第一终端接收第二终端响应于数据块获取请求返回的至少一个第二数据块。
本申请实施例中,各数据块可以唯一对应一个数据块标识,数据块标识可以是编号、名称等标识,各终端可以唯一对应一个终端标识,终端标识可以是终端的设备序列号、终端的通信地址等标识,当然对于不同的终端,各终端所采用的终端标识的具体形式可以不同,对于不同的数据块,各数据块所采用的数据块标识可以不同。针对每个数据块,服务器中可以保存该数据块的标识与接收该数据块的终端的标识的关联关系,则第一终端可以依据该关联关系,判定第一终端中已经接收的数据块(如一个或多个第一数据块),以及第一终端还缺失的数据块(如一个或多个第二数据块),以及第一终端缺失的数据块所关联的第二终端的标识,进而第一终端可以根据第二终端的标识,向第二终端发送数据获取请求,并接收第二终端返回的一个或多个第二数据块,示例性的,在第二终端的数量为多个时,第一终端可以根据该关联关系分别向每个第二终端发送数据块获取请求,并接收每个第二终端返回的一个或多个第二数据块。服务器也可以通过简单的技术方式验证,或者以其他校验方式保证数据块不缺失、或保证数据块可以达到正常升级的条件。
可选的,在步骤S102之前,第一终端与第二终端之间可以先进行双向认证,以建立安全通信。示例性的,第一终端与第二终端之间可以采用PKI的方式进行双向认证,比如,第一终端可以在PKI中查证第二终端的数字证书,实现第一终端对第二终端的认证,第二终端可以在PKI中查证第一终端的数字证书,实现第二终端对第一终端的认证。可以理解,第一终端和第二终端之间还可以根据实际的应用场景,采用其他方式进行双向认证,本申请实施例对此不作具体限定。
步骤S103:第一终端根据第一数据块和第二数据块,得到车辆升级包。
本申请实施例中,第一终端在获取到全部的第二数据块后,可以根据第二数据块的标识,以及第一数据块的标识,可以按照数据块中先后次序等将第一数据块和第二数据块整合得到车辆升级包。
本申请实施例中,车辆升级包可以是用于车辆中的单个部件的系统、软件升级的升级包,也可以是用于车辆中多个部件或整车部件的系统、软件升级,本申请实施例对此不作具体限定。
综上所述,本申请实施例中,服务器可以将车辆升级包分块,得到多个数据块,然后将多个数据块下发给多个终端,之后,终端可以根据P2P的方式从其他终端中获取数据块,并根据该终端已经接收的数据块,以及该终端从其他终端中获取的数据块,得到车辆升级包,在该过程中,每个终端不需要都从OTA服务器获取完整的车辆升级包,因此能够降低OTA服务器的负载。
可选的,第一数据块和第二数据块均可以是加密后的数据块。
本申请实施例中,服务器在对车辆升级包分块时,可以先对车辆升级包加密,在将加密后的车辆升级包分块,得到加密的第一数据块和加密的第二数据块。或者,服务器在对车辆升级包分块时,可以先将车辆升级包进行分块,得到一个或多个第一数据块,以及一个或多个第二数据块,之后再对每个第一数据块和每个第二数据块分别进行加密。本申请实施例对加密的具体实现不作具体限定。为了保证数据块的完整性,第一数据块和第二数据块可以分别存储在各个终端中,也可以是集中存储在其中的终端,例如第一终端和/或第二终端;或者是第一数据块和第二数据块所包含的信息可以分别存储在各个终端中,也可以是集中存储在其中的终端,例如第一终端和/或第二终端。
本申请实施例中,服务器对得到加密的数据块所采用的加密算法可以是对称加密算法,也可以是非对称加密算法,或其他任意的加密算法,本申请实施例对加密算法不作具体限定,可以理解,对于采用不同加密方法加密得到的数据块,可以在数据块中携带加密算法的标识,在解密时,可以根据加密算法的标识,采取相应的解密算法,本申请实施例对此不作具体限定。
本申请实施例中,通过对第一数据块和第二数据块的加密,可以防止非法用户获得升级包,保证分割的数据块传输过程的机密性,从而在保证OTA升级包快速传输的同时,还能保证OTA数据包的传输安全。
在本申请实施例的一种可选实现方式中,第一数据块的数据块长度和至少一个第二数据块的数据块长度均为对称加密算法的分组长度的整数倍。
本申请实施例中,输入对称加密算法的车辆升级包的长度可以是该加密算法分组 长度的整数倍,例如分组长度可以为8字节、16字节或128字节等。而车辆升级包的长度通常是随机的,可能不满足分组长度整数倍的条件,因此可以将车辆升级包增加填充部分,使其总长度达到分组长度的整数倍,进而将车辆升级包分块为多个长度为加密算法的分组长度的整数倍的数据块,例如,分组长度为128字节时,第一数据块和第二数据块的长度均可以为128*n,n为自然数。
本申请实施例中,通过将车辆升级包分为分组长度整数倍的数据块,能够确保解封装者对加密报文的处理总消耗相同的时间,从而有效抵御计时攻击,使得加密报文的机密性保护和完整性保护得到保障。
一种可选的实现方式中,在第一终端连接OTA服务器时,第一终端可以从OTA服务器获取到第一数据块和第二数据块的分组长度,以及加密数据块的密钥及密钥的有效时间,则第一终端可以在密钥的有效时间内根据密钥对第一数据块和第二数据块进行解密。
可选的,在第一数据块的数据块长度和至少一个第二数据块的数据块长度均为加密算法的分组长度的整数倍时,第一终端对第一数据块和第二数据块的解密方式可以是:
第一终端每接收到一个数据块(包括第一数据块或第二数据块),立即对该接收到的数据块进行解密,则在第一终端接收到最后一个数据块时,第一终端可能已经完成了对之前接收到的数据块的解密,则第一终端只需要等待解密最后一个数据块的时间,就可以完成所有数据块的解密,即本申请实施例中,第一终端是边接收数据块边解密的过程,因此相较于第一终端完成所有的数据块接收后再统一解密的方法,本申请实施例的方法可以提升解密效率和减少升级包的下载时间。
可以理解,第一终端也可以在完成所有的数据块(包括第一数据块或第二数据块)的接收后,对所有的数据块进行统一解密,本申请实施例对此不作具体限定。
可选的,第一数据块和第二数据块中均包括:生成车辆系统升级的升级包的服务器的签名。示例性的,OTA服务器在对完整的车辆系统升级的升级包进行分块之前,可以对升级包进行签名或对升级包的内容进行基于公钥密码的数字签名,该签名可以是OTA服务器对应的标识,例如签名可以是OTA服务器的设备标识、或运营该OTA服务器的运营商的标识等,或者,签名还可以包括该车辆的运营商的标识等,并在分块时,将签名添加在第一数据块和第二数据块中,使得第一终端在获取到第一数据块和第二数据块时,可以根据第一数据块和第二数据块中携带的签名确定第一数据块和第二数据块是否为第一终端所允许的OTA服务器发送的,可以理解,若第一数据块和第二数据块携带的签名不是OTA服务器的签名,则可以丢弃,并重新获取包含OTA服务器的签名的第一数据块和第二数据块,从而避免第一终端接收到其他设备发送的不安全的数据块,提升数据块传输的安全性。
适应的,在第一数据块和第二数据块中均包括生成车辆升级的升级包的服务器的签名,在第一终端确认第一数据块的签名为车辆升级包下载的服务器的签名的情况下,第一终端在第一时间开始解密第一数据块,在第二时间接收第二数据块,第一时间在第二时间之前;或在第一终端确认第二数据块的签名为车辆升级包下载服务器的签名的情况下,第一终端在第三时间开始解密第二数据块,在第四时间接收第一数据块, 第三时间在第四时间之前。
示例性的,图3为本申请实施例提供的车辆升级包处理方法可以应用的一种具体升级系统。如图3所示,该升级系统包括:服务器30、第一终端31和第二终端32,其中,第二终端32的数量为三个,分别编号为第二终端320、第二终端321和第二终端322。
本申请实施例中,服务器30可以是OTA服务器。服务器30也可以是代理服务器,例如代理服务器可以是为车队服务的服务器等,在服务器30为代理服务器时,代理服务器可以先与OTA服务器之间通过双向认证,建立安全通信,之后,代理服务器将车辆的硬件和软件信息发送给OTA服务器,OTA服务器生成车辆升级包后,可以将车辆升级包下发给代理服务器,可以理解,OTA服务器也可以将车辆升级包分块后,下发给多个代理服务器,多个代理服务器通过上述的P2P方式获取到车辆升级包,本申请实施例对此不作具体限定。
本申请实施例中,第一终端和第二终端可以均为车辆,如图4示出了车辆中车载设备的逻辑框架示意图,可以理解,图4中的车载设备可以是车辆所包括的全部的车载设备或部分的车载设备。这些车载设备可以被分成若干个域,每个域包括一个或多个车载设备,每个域有一个域管理员,域管理员也可以称为域控制器。例如,移动数据中心(mobile data center,MDC)和一个或多个传感器(sensor)以及全球定位系统(global positioning system,GPS)等属于一个域,MDC是这个域的域控制器。整车控制单元(vehicle control unit,VCU)和一个或多个电子控制单元(electronic control unit,ECU)以及无线电能传输(wireless power transmission,WPT)等属于一个域,VCU是这个域的域控制器。人机接口(human machine interface,HMI)和一个或多个ECU等属于一个域,HMI是这个域的域控制器。车身控制域(body control module,BCM)和一个或多个ECU、以及被动进入被动启动(passive entry passive start,PEPS)等属于一个域,BCM是这个域的域控制器。域控制器与网关(gateway,GW)连接,网关又连接了车载自动诊断系统(on-board diagnostics,OBD)和车联网车载通信终端(telematics box,T-Box)等设备。例如,域控制器可以通过网关与T-Box等设备通信,域内设备可以通过域控制器与网关等设备通信。
一种可选的实现方式中,车辆通过T-Box下载车辆升级包,并判断车辆升级包的来源,确定该车辆升级包为OTA服务器下发之后,可以根据升级包的对应的设备编号转发给车辆内相应的车载设备,对于计算和存储能力比较大的车载设备(如MDC,HMI等)可以自己进行组包,这样可以减少T-Box的存储资源的消耗,组包后车内车载部件可以进一步进行升级包的签名验证,在确定该车辆升级包为OTA服务器下发之后,进行升级安装等操作,从而可以提升升级数据包的可靠性。
本申请实施例中,以第一终端为第一车辆,第二终端为第二车辆为例,如图5所示,车辆升级包处理方法的一种可选的具体实现步骤可以是:
步骤S301:第一车辆从服务器获取一个或多个第一数据块,以及,第二车辆从服务器获取一个或多个第二数据块。
步骤S302:第一车辆从第二车辆获取一个或多个第二数据块。
步骤S303:第一车辆根据获取的第一数据块和第二数据块,得到车辆升级包。
本申请实施例中,服务器对车辆升级包的分块方法,以及第一车辆获取第一数据块和第二数据块的方法可以参照图2对应的实施例的记载,在此不作赘述。
在本申请实施例的一种可选应用场景中,如图3所示,服务器30是车队服务器,车队服务器提前从OTA服务器中获取该车队服务器所服务的车队(例如包括第一车辆31、第二车辆320、第二车辆321和第二车辆322)所需的车辆升级包,进而在车队例行检修期间、无线保真(Wireless-Fidelity,Wi-Fi)等联网情况下,第一车辆31、第二车辆320、第二车辆321和第二车辆322链接车队服务器,当收到升级包下载通知时,车队服务器与第一车辆31、第二车辆320、第二车辆321和第二车辆322进行双向认证(如基于PKI的认证方式),认证通过后,将升级包的加密密钥k加密(利用车辆的公钥加密)后下发给第一车辆31、第二车辆320、第二车辆321和第二车辆322,示例的,第一车辆31下载车辆升级包的第一部分,第二车辆320下载车辆升级包的第二部分,第二车辆321下载车辆升级包的第三部分;则第一车辆31可以从第二车辆320下载车辆升级包的第二部分,以及从第二车辆321下载车辆升级包的第三部分,进而利用密钥k解密得到完整的车辆升级包。
可以理解,第二车辆320也可以从第一车辆31和第二车辆321中得到完整的车辆升级包,第二车辆321也可以从第一车辆31和第二车辆320中得到完整的车辆升级包。
则当第一车辆31、第二车辆320或第二车辆321得到完整的车辆升级包后,第二车辆322就能第一车辆31、第二车辆320或第二车辆321,本申请实施例对各车辆下载车辆升级包的具体过程不做限定。
本申请实施例中,车队服务器作为代理服务器,从而车辆可以在检修等过程实现便捷的车辆升级。
可选的,为了进一步提升车辆升级包的稳定性,避免将不正确的车辆升级包下发给多个车辆,可以在步骤S301之前,先对车辆升级包的性能进行测试,示例的,可以先通过一个车辆A从服务器30中获取车辆升级包,之后车辆A根据车辆升级包进行更新,如果更新成功,车辆A发送更新成功的消息给服务器30,则进一步执行步骤S301及之后的步骤,从而可以提升车辆升级成功的概率。
示例性的,图6为本申请实施例提供的车辆升级包处理方法可以应用的一种具体升级系统。如图6所示,该升级系统包括:服务器60、第一终端61和第二终端62,其中,第二终端62的数量为三个,分别编号为第二终端620、第二终端621和第二终端622。
本申请实施例中,服务器60可以是OTA服务器。服务器60也可以是代理服务器,在服务器60为代理服务器时,代理服务器可以先与OTA服务器之间通过双向认证,建立安全通信,之后,代理服务器将车辆辅助设备所服务的车辆的硬件和软件信息发送给OTA服务器,OTA服务器生成车辆升级包后,可以将车辆升级包下发给代理服务器,可以理解,OTA服务器也可以将车辆升级包分块后,下发给多个代理服务器,多个代理服务器通过上述的P2P方式获取到车辆升级包,本申请实施例对此不作具体限定。
本申请实施例中,以第一终端为第一车辆辅助设备,第二终端为第二车辆辅助设备为例,第二车辆辅助设备可以是为车辆充电的设备(例如充电桩等),或移动终端 等,如图7所示,车辆升级包处理方法的一种可选的具体实现步骤可以是:
步骤S701:第一车辆辅助设备从服务器获取一个或多个第一数据块,以及,第二车辆辅助设备从服务器获取一个或多个第二数据块。
步骤S702:第一车辆辅助设备从第二车辆辅助设备获取一个或多个第二数据块。
步骤S703:第一车辆辅助设备根据获取的第一数据块和第二数据块,得到车辆升级包。
本申请实施例中,服务器对车辆升级包的分块方法,以及第一车辆辅助设备获取第一数据块和第二数据块的方法可以参照图2对应的实施例的记载,在此不作赘述。
在本申请实施例的一种可选应用场景中,如图6所示,服务器60是OTA服务器,OTA服务器中生成车辆升级包,进而通知第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621和第二车辆辅助设备622有车辆升级包需要下载,OTA服务器与第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621和第二车辆辅助设备622进行双向认证(如基于PKI的认证方式),认证通过后,将用密钥k加密的数据块下发给第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621和第二车辆辅助设备622,示例的,第一车辆辅助设备61下载车辆升级包的第一部分,第二车辆辅助设备620下载车辆升级包的第二部分,第二车辆辅助设备621下载车辆升级包的第三部分;则第一车辆辅助设备61可以从第二车辆辅助设备620下载车辆升级包的第二部分,以及从第二车辆辅助设备621下载车辆升级包的第三部分,进而利用密钥k解密得到完整的车辆升级包。
可以理解,第二车辆辅助设备620也可以从第一车辆辅助设备61和第二车辆辅助设备621中得到完整的车辆升级包,第二车辆辅助设备621也可以从第一车辆辅助设备61和第二车辆辅助设备620中得到完整的车辆升级包。
则当第一车辆辅助设备61、第二车辆辅助设备620或第二车辆辅助设备621得到完整的车辆升级包后,第二车辆辅助设备622就能从第一车辆辅助设备61、第二车辆辅助设备620或第二车辆辅助设备621得到车辆升级包,本申请实施例对各车辆辅助设备下载车辆升级包的具体过程不做限定。
在本申请实施例中,示例性的,车辆63收到升级通知后,可以与OTA服务器建立链接,获取到车辆升级包的加密密钥k,在车辆63通过第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621或第二车辆辅助设备622进行充电时,第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621或第二车辆辅助设备622可以接收车辆发送的升级包获取请求,并与车辆进行双向认证,之后,第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621或第二车辆辅助设备622可以将加密的车辆升级包发送给车辆,车辆63通过密钥k解密该加密的车辆升级包,得到车辆升级包,从而,车辆63可以实现边充电边下载车辆升级包,可以理解,因为车辆充电时一方面车辆通常处于静止状态,通常可以有较好的网络环境,另一方面,因为车辆与充电辅助设备连接,也可以避免因为车辆电量不足造成车载升级包下载中断等现象发生,可以较好地提升用户进行车辆升级的体验。
可选的,为了进一步提升车辆升级包的稳定性,避免将不正确的车辆升级包下发给多个车辆,可以在步骤S701之前,先对车辆升级包的正确性进行测试,示例的,可 以先通过一个车辆A从第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621或第二车辆辅助设备622获取车辆升级包,之后车辆A根据车辆升级包进行更新,如果更新成功,车辆A发送更新成功的消息给第一车辆辅助设备61、第二车辆辅助设备620、第二车辆辅助设备621或第二车辆辅助设备622,则进一步执行步骤S701及之后的步骤,从而可以提升车载系统升级成功的概率。
图8为本申请实施例提供的一种第一终端的结构示意图,包括接收模块801和处理模块802,其中,接收模块,用于从服务器接收一个或多个第一数据块,第一数据块用于车辆升级;处理模块,用于第一终端从第二终端获取一个或多个第二数据块,第二数据块用于车载系统升级,第二数据块是服务器发送给第二终端的;以及,根据第一数据块和第二数据块,得到车辆升级包。
在一种可能的设计中,第一数据块和第二数据块均为加密后的数据块,且第一数据块的数据块长度和至少一个第二数据块的数据块长度均为加密算法的分组长度的整数倍。
在一种可能的设计中,处理模块,具体用于在第一时间开始解密第一数据块;在第二时间接收第二数据块,第一时间在第二时间之前;或,在第三时间开始解密第二数据块,在第四时间接收第一数据块,第三时间在第四时间之前。
在一种可能的设计中,第一数据块和第二数据块均包括:生成车辆系统升级的升级包的服务器的签名;处理模块,具体还用于:在确认第一数据块的签名为车辆系统升级的升级包的服务器的签名的情况下,在第一时间开始解密第一数据块;在确认第二数据块的签名为车辆系统升级的升级包的服务器的签名的情况下,在第三时间开始解密第二数据块。
在一种可能的设计中,服务器中保存有车辆升级包被分块后的数据块与接收数据块的终端的关联关系;处理模块具体还用于:根据关联关系,向第二终端发送数据块获取请求;接收第二终端响应于数据块获取请求返回的一个或多个第二数据块。
在一种可能的设计中,服务器为代理服务器,车辆升级包为代理服务器从空中下载OTA服务器获取的;第一终端为车辆。
在一种可能的设计中,第一终端为充电桩。
在一种可能的设计中,还包括:接收模块,还用于接收车辆发送的升级包获取请求;处理模块,还用于在车辆通过充电桩的安全验证的情况下,根据升级包获取请求向车辆返回车辆升级包。
在一种可能的设计中,接收模块,具体用于:在第一终端通过服务器的安全认证的情况下,第一终端从服务器接收第一数据块。
本实施例的装置对应地可用于执行上述方法实施例中第一终端执行的步骤,其实现原理和技术效果类似,此处不再赘述。
图9为本申请实施例提供的一种第一终端的结构示意图,包括处理模块901和发送模块902,其中,处理模块,用于对车辆升级包分块,得到多个数据块;发送模块,用于将多个数据块分发给至少一个终端;每个终端用于根据该终端所接收的数据块,以及至少一个终端中其他终端的数据块,得到车辆升级包。
在一种可能的设计中,处理模块具体用于:根据加密算法对车辆升级包加密,以 及将加密后的车辆升级包分块得到多个数据块。
在一种可能的设计中,服务器为代理服务器,处理模块还用于:从空中下载OTA服务器获取车辆升级包。
在一种可能的设计中,处理模块具体用于:向空中下载OTA服务器发送车载升级包获取请求;车载升级包获取请求包括:车辆的操作系统类型和版本;在代理服务器通过OTA服务器的安全验证的情况下,接收OTA服务器发送的车辆升级包;其中,车辆升级包为OTA服务器根据车辆的操作系统类型和版本生成的。
在一种可能的设计中,处理模块,还用于记录车辆升级包被分块后的数据块与接收数据块的终端的关联关系。
本实施例的装置对应地可用于执行上述方法实施例中服务器执行的步骤,其实现原理和技术效果类似,此处不再赘述。
图10为本申请提供的车辆升级包处理装置的硬件结构示意图。请参见图10,该车辆升级包处理装置包括:存储器1001、处理器1002和通信接口1003,其中,存储器1001、处理器1002和通信接口1003可以通信;示例性的,存储器1001、处理器1002和通信接口1003可以通过通信总线1004通信,所述存储器1001用于存储计算机程序,所述处理器1002执行所述计算机程序实现上述方法实施例所示的方法。
可选的,通信接口1003还可以包括发送器和/或接收器。
可选的,上述处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请提供一种可读计算机存储介质,所述可读计算机存储介质用于存储计算机程序,所述计算机程序用于实现上述方法实施例所示的方法。
本申请还一种通信系统,包括如图8所述的第一终端和如图9所述的服务器。
本申请提供一种系统芯片,该系统芯片用于支持通信装置实现本申请实施例所示的功能(例如,第一终端从服务器接收一个或多个第一数据块,第一数据块用于车辆升级;第一终端从第二终端获取一个或多个第二数据块,第二数据块用于车载系统升级,第二数据块是服务器发送给第二终端的;第一终端根据第一数据块和第二数据块,得到车辆升级包),该芯片具体用于芯片系统,该芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。当实现上述方法的为第一设备内的芯片时,芯片包括处理单元,进一步的,芯片还可以包括通信单元,所述处理单元例如可以是处理器,当芯片包括通信单元时,所述通信单元例如可以是输入/输出接口、管脚或电路等。处理单元执行本申请实施例中各个处理模块所执行的全部或部分动作,通信单元可执行相应的接收或发送动作,在另一具体的实施例中,本申请中的接收设备的处理模块可以是芯片的处理单元,控制设备的接收模块或发送模块是芯片的通信单元。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。 可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (35)

  1. 一种车辆升级包处理方法,其特征在于,包括:
    第一终端从服务器接收一个或多个第一数据块,所述第一数据块用于车辆升级;
    所述第一终端从第二终端获取一个或多个第二数据块,所述第二数据块用于所述车载系统升级,所述第二数据块是所述服务器发送给所述第二终端的;
    所述第一终端根据所述第一数据块和所述第二数据块,得到所述车辆升级包。
  2. 根据权利要求1所述的方法,其特征在于,所述第一数据块和第二数据块均为加密后的数据块,且所述第一数据块的数据块长度和所述至少一个第二数据块的数据块长度均为加密算法的分组长度的整数倍。
  3. 根据权利要求2所述的方法,其特征在于,所述第一终端根据所述第一数据块和所述至少一个第二数据块,得到所述车辆升级包,包括:
    所述第一终端在第一时间开始解密所述第一数据块;所述第一终端在第二时间接收所述第二数据块,所述第一时间在所述第二时间之前;或,
    所述第一终端在第三时间开始解密所述第二数据块,所述第一终端在第四时间接收所述第一数据块,所述第三时间在所述第四时间之前。
  4. 根据权利要求3所述的方法,其特征在于,所述第一数据块和第二数据块均包括:生成所述车辆系统升级的升级包的服务器的签名;
    所述第一终端在第一时间开始解密所述第一数据块,包括:
    在所述第一终端确认所述第一数据块的签名为所述车辆系统升级的升级包的服务器的签名的情况下,所述第一终端在第一时间开始解密所述第一数据块;
    所述第一终端在第三时间开始解密所述第二数据块,包括:
    在所述第一终端确认所述第二数据块的签名为所述车辆系统升级的升级包的服务器的签名的情况下,所述第一终端在第三时间开始解密所述第二数据块。
  5. 根据权利要求1所述的方法,其特征在于,所述服务器中保存有所述车辆升级包被分块后的数据块与接收数据块的终端的关联关系;所述第一终端从第二终端获取一个或多个第二数据块,包括:
    所述第一终端根据所述关联关系,向所述第二终端发送数据块获取请求;
    所述第一终端接收所述第二终端响应于所述数据块获取请求返回的所述一个或多个第二数据块。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述服务器为代理服务器,所述车辆升级包为所述代理服务器从空中下载OTA服务器获取的;所述第一终端为车辆。
  7. 根据权利要求1-5任一项所述的方法,其特征在于,所述第一终端为充电桩。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    所述充电桩接收车辆发送的升级包获取请求;
    在所述车辆通过所述充电桩的安全验证的情况下,所述充电桩根据所述升级包获取请求向所述车辆返回所述车辆升级包。
  9. 根据权利要求1-5任一项所述的方法,其特征在于,所述第一终端从服务器接 收第一数据块,包括:
    在所述第一终端通过所述服务器的安全认证的情况下,所述第一终端从服务器接收第一数据块。
  10. 一种车辆升级包处理方法,其特征在于,包括:
    服务器对车辆升级包分块,得到多个数据块;
    所述服务器将所述多个数据块分发给至少一个终端;每个所述终端用于根据该终端所接收的数据块,以及所述至少一个终端中其他终端的数据块,得到所述车辆升级包。
  11. 根据权利要求10所述的方法,其特征在于,所述服务器对车辆升级包分块,得到多个数据块包括:
    所述服务器根据加密算法对所述车辆升级包加密,以及将加密后的车辆升级包分块得到多个数据块。
  12. 根据权利要求10或11所述的方法,其特征在于,所述服务器为代理服务器,所述服务器对车辆升级包分块之前,还包括:
    所述代理服务器从空中下载OTA服务器获取所述车辆升级包。
  13. 根据权利要求12所述的方法,其特征在于,所述代理服务器从空中下载OTA服务器获取所述车辆升级包,包括:
    所述代理服务器向空中下载OTA服务器发送车载升级包获取请求;所述车载升级包获取请求包括:车辆的操作系统类型和版本;
    在所述代理服务器通过OTA服务器的安全验证的情况下,所述代理服务器接收所述OTA服务器发送的车辆升级包;其中,所述车辆升级包为所述OTA服务器根据所述车辆的操作系统类型和版本生成的。
  14. 根据权利要求10-13任一项所述的方法,其特征在于,所述服务器将所述多个数据块分发给至少一个终端之后,还包括:
    所述服务器记录所述车辆升级包被分块后的数据块与接收数据块的终端的关联关系。
  15. 一种第一终端,其特征在于,包括:
    接收模块,用于从服务器接收一个或多个第一数据块,所述第一数据块用于车辆升级;
    处理模块,用于第一终端从第二终端获取一个或多个第二数据块,所述第二数据块用于所述车载系统升级,所述第二数据块是所述服务器发送给所述第二终端的;以及,
    根据所述第一数据块和所述第二数据块,得到所述车辆升级包。
  16. 根据权利要求15所述的第一终端,其特征在于,所述第一数据块和第二数据块均为加密后的数据块,且所述第一数据块的数据块长度和所述至少一个第二数据块的数据块长度均为加密算法的分组长度的整数倍。
  17. 根据权利要求16所述的第一终端,其特征在于,所述处理模块,具体用于在第一时间开始解密所述第一数据块;在第二时间接收所述第二数据块,所述第一时间在所述第二时间之前;或,
    在第三时间开始解密所述第二数据块,在第四时间接收所述第一数据块,所述第三时间在所述第四时间之前。
  18. 根据权利要求17所述的第一终端,其特征在于,所述第一数据块和第二数据块均包括:生成所述车辆系统升级的升级包的服务器的签名;所述处理模块,具体还用于:
    在确认所述第一数据块的签名为所述车辆系统升级的升级包的服务器的签名的情况下,在第一时间开始解密所述第一数据块;
    在确认所述第二数据块的签名为所述车辆系统升级的升级包的服务器的签名的情况下,在第三时间开始解密所述第二数据块。
  19. 根据权利要求15所述的第一终端,其特征在于,所述服务器中保存有所述车辆升级包被分块后的数据块与接收数据块的终端的关联关系;所述处理模块具体还用于:
    根据所述关联关系,向所述第二终端发送数据块获取请求;
    接收所述第二终端响应于所述数据块获取请求返回的所述一个或多个第二数据块。
  20. 根据权利要求15-19任一项所述的第一终端,其特征在于,所述服务器为代理服务器,所述车辆升级包为所述代理服务器从空中下载OTA服务器获取的;所述第一终端为车辆。
  21. 根据权利要求15-19任一项所述的第一终端,其特征在于,所述第一终端为充电桩。
  22. 根据权利要求21所述的第一终端,其特征在于,还包括:
    所述接收模块,还用于接收车辆发送的升级包获取请求;
    所述处理模块,还用于在所述车辆通过所述充电桩的安全验证的情况下,根据所述升级包获取请求向所述车辆返回所述车辆升级包。
  23. 根据权利要求15-19任一项所述的第一终端,其特征在于,所述接收模块,具体用于:在所述第一终端通过所述服务器的安全认证的情况下,所述第一终端从服务器接收第一数据块。
  24. 一种服务器,其特征在于,包括:
    处理模块,用于对车辆升级包分块,得到多个数据块;
    发送模块,用于将所述多个数据块分发给至少一个终端;每个所述终端用于根据该终端所接收的数据块,以及所述至少一个终端中其他终端的数据块,得到所述车辆升级包。
  25. 根据权利要求24所述的服务器,其特征在于,所述处理模块具体用于:
    根据加密算法对所述车辆升级包加密,以及将加密后的车辆升级包分块得到多个数据块。
  26. 根据权利要求24或25所述的服务器,其特征在于,所述服务器为代理服务器,所述处理模块还用于:从空中下载OTA服务器获取所述车辆升级包。
  27. 根据权利要求26所述的服务器,其特征在于,所述处理模块具体用于:
    向空中下载OTA服务器发送车载升级包获取请求;所述车载升级包获取请求包括:车辆的操作系统类型和版本;
    在所述代理服务器通过OTA服务器的安全验证的情况下,接收所述OTA服务器发送的车辆升级包;其中,所述车辆升级包为所述OTA服务器根据所述车辆的操作系统类型和版本生成的。
  28. 根据权利要求24-27任一项所述的服务器,其特征在于,所述处理模块,还用于记录所述车辆升级包被分块后的数据块与接收数据块的终端的关联关系。
  29. 一种车辆升级包处理装置,其特征在于,包括处理器和接口电路,所述接口电路用于接收代码指令并传输至所述处理器;所述处理器用于运行所述代码指令,以执行如权利要求1-9任一项所述的方法。
  30. 一种车辆升级包处理装置,其特征在于,包括处理器和接口电路,所述接口电路用于接收代码指令并传输至所述处理器;所述处理器用于运行所述代码指令,以执行如权利要求10-14任一项所述的方法。
  31. 一种车辆升级包处理装置,其特征在于,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现如权利要求1-9任一项所述的方法。
  32. 一种车辆升级包处理装置,其特征在于,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现如权利要求10-14任一项所述的方法。
  33. 一种可读计算机存储介质,其特征在于,所述可读计算机存储介质用于存储计算机程序,所述计算机程序用于实现如权利要求1-9任一项所述的方法。
  34. 一种可读计算机存储介质,其特征在于,所述可读计算机存储介质用于存储计算机程序,所述计算机程序用于实现如权利要求10-14任一项所述的方法。
  35. 一种车辆升级包处理系统,其特征在于,包括如权利要求15-23任一项所述的第一终端和如权利要求24-28任一项所述的服务器。
PCT/CN2020/097666 2019-11-14 2020-06-23 车辆升级包处理方法和装置 WO2021093334A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20888565.7A EP4050474A4 (en) 2019-11-14 2020-06-23 METHOD AND APPARATUS FOR PROCESSING VEHICLE UPGRADE PACKAGES
KR1020227018960A KR20220092606A (ko) 2019-11-14 2020-06-23 차량의 업그레이드 패키지를 처리하는 방법 및 장치
JP2022528103A JP2023501665A (ja) 2019-11-14 2020-06-23 車両のアップグレードパッケージを処理するための方法および装置
US17/743,885 US20220276855A1 (en) 2019-11-14 2022-05-13 Method and apparatus for processing upgrade package of vehicle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911113667.1A CN112799706A (zh) 2019-11-14 2019-11-14 车辆升级包处理方法和装置
CN201911113667.1 2019-11-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/743,885 Continuation US20220276855A1 (en) 2019-11-14 2022-05-13 Method and apparatus for processing upgrade package of vehicle

Publications (1)

Publication Number Publication Date
WO2021093334A1 true WO2021093334A1 (zh) 2021-05-20

Family

ID=75803995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/097666 WO2021093334A1 (zh) 2019-11-14 2020-06-23 车辆升级包处理方法和装置

Country Status (6)

Country Link
US (1) US20220276855A1 (zh)
EP (1) EP4050474A4 (zh)
JP (1) JP2023501665A (zh)
KR (1) KR20220092606A (zh)
CN (1) CN112799706A (zh)
WO (1) WO2021093334A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626056A (zh) * 2021-08-20 2021-11-09 中国第一汽车股份有限公司 车辆远程升级方法、装置、电子设备、车载终端及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923622A (zh) * 2021-09-30 2022-01-11 重庆长安汽车股份有限公司 一种基于手机蓝牙钥匙升级车载控制器的方法
CN114040381A (zh) * 2021-11-08 2022-02-11 百度在线网络技术(北京)有限公司 加密方法、解密方法、装置及电子设备
WO2023108618A1 (zh) * 2021-12-17 2023-06-22 华为技术有限公司 一种基于空中下载ota技术的升级方法及通信装置
WO2023138248A1 (zh) * 2022-01-21 2023-07-27 浙江春风动力股份有限公司 鞍座式车辆
CN115277671A (zh) * 2022-06-27 2022-11-01 重庆长安汽车股份有限公司 车辆的ota升级方法、装置、车辆及存储介质
CN115061711A (zh) * 2022-07-04 2022-09-16 海南大学 智能充电桩的升级方法和装置
CN115567496A (zh) * 2022-09-21 2023-01-03 润芯微科技(江苏)有限公司 一种ota升级方法及其系统
CN116418655B (zh) * 2023-06-12 2023-08-08 广汽埃安新能源汽车股份有限公司 一种tbox故障修复方法及系统
CN117009992B (zh) * 2023-07-28 2024-04-16 广州汽车集团股份有限公司 升级包处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475710A (zh) * 2013-09-10 2013-12-25 镇江青思网络科技有限公司 基于反馈方式的车辆间合作下载方案
US20150082297A1 (en) * 2013-09-17 2015-03-19 Blackberry Corporation Updating firmware on mobile devices
CN105204887A (zh) * 2014-06-12 2015-12-30 福特全球技术公司 通过远程移动装置的车辆下载

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194504B2 (en) * 2000-02-18 2007-03-20 Avamar Technologies, Inc. System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques
JP2004158981A (ja) * 2002-11-05 2004-06-03 Toshiba Corp 通信装置及び通信方法
US7693612B2 (en) * 2005-06-23 2010-04-06 International Business Machines Corporation Method and system for updating code embedded in a vehicle
US8190322B2 (en) * 2009-01-13 2012-05-29 GM Global Technology Operations LLC Autonomous vehicle maintenance and repair system
US9854062B2 (en) * 2013-12-18 2017-12-26 Panasonic Intellectual Property Management Co., Ltd. Data relay apparatus and method, server apparatus, and data sending method
KR101538331B1 (ko) * 2013-12-20 2015-07-22 전자부품연구원 V2v 및 v2i 협력 통신 기반 차량용 소프트웨어 업데이트 장치 및 그 방법
EP2986043A1 (fr) * 2014-08-13 2016-02-17 Gemalto Sa Procédé d'établissement de sessions OTA entre des terminaux et un serveur OTA, serveur OTA et serveur proxy inverse correspondants
US10755356B1 (en) * 2015-08-12 2020-08-25 State Farm Mutual Automobile Insurance Company System and method for providing customers with rates from insurance providers for purchasing passenger insurance in an autonomous vehicle
US20170274789A1 (en) * 2016-03-25 2017-09-28 Le Holdings (Beijing) Co., Ltd. Charging pile control system, multi-functional charging pile and electric vehicle
EP3528428B1 (en) * 2016-10-13 2022-05-04 Hitachi Astemo, Ltd. In-vehicle gateway
US10223098B2 (en) * 2017-03-31 2019-03-05 Intel Corporation Method and system to accelerate IoT patch propagation and reduce security vulnerabilities exposure time
WO2019070235A1 (en) * 2017-10-03 2019-04-11 Google Llc UPDATE MESSAGING FOR VEHICLE COMPUTING DEVICES
EP3746880A1 (en) * 2018-01-30 2020-12-09 Volkswagen Aktiengesellschaft Method for distributing a software to a plurality of motor vehicles, corresponding system, motor vehicle, and data storage medium
US10430178B2 (en) * 2018-02-19 2019-10-01 GM Global Technology Operations LLC Automated delivery and installation of over the air updates in vehicles
WO2019168907A1 (en) * 2018-02-27 2019-09-06 Excelfore Corporation Broker-based bus protocol and multi-client architecture
US20190294135A1 (en) * 2018-03-22 2019-09-26 Ford Global Technologies, Llc Content delivery to vehicle via charging station
DK201870700A1 (en) * 2018-06-20 2020-01-14 Aptiv Technologies Limited OVER-THE-AIR (OTA) MOBILITY SERVICES PLATFORM
US11228884B2 (en) * 2019-01-16 2022-01-18 Ford Global Technologies, Llc Vehicle-to-vehicle file sharing system and method
US10853495B2 (en) * 2019-03-29 2020-12-01 Microsoft Technology Licensing, Llc Method for patching and updating encrypted disk images in a reliable and secure fashion
US11130419B2 (en) * 2019-09-03 2021-09-28 Yu-Shun Lin Electric vehicle charging system
KR20210028422A (ko) * 2019-09-04 2021-03-12 삼성전자주식회사 전자장치 및 그 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475710A (zh) * 2013-09-10 2013-12-25 镇江青思网络科技有限公司 基于反馈方式的车辆间合作下载方案
US20150082297A1 (en) * 2013-09-17 2015-03-19 Blackberry Corporation Updating firmware on mobile devices
CN105204887A (zh) * 2014-06-12 2015-12-30 福特全球技术公司 通过远程移动装置的车辆下载

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4050474A1

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626056A (zh) * 2021-08-20 2021-11-09 中国第一汽车股份有限公司 车辆远程升级方法、装置、电子设备、车载终端及存储介质

Also Published As

Publication number Publication date
US20220276855A1 (en) 2022-09-01
EP4050474A4 (en) 2022-11-30
JP2023501665A (ja) 2023-01-18
CN112799706A (zh) 2021-05-14
KR20220092606A (ko) 2022-07-01
EP4050474A1 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
WO2021093334A1 (zh) 车辆升级包处理方法和装置
US10965450B2 (en) In-vehicle networking
KR102479224B1 (ko) 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
CN111279310A (zh) 一种车载设备升级方法及相关设备
Iorio et al. Securing SOME/IP for in-vehicle service protection
Zelle et al. On using TLS to secure in-vehicle networks
US11321074B2 (en) Vehicle-mounted device upgrade method and related apparatus
CN110621014B (zh) 一种车载设备及其程序升级方法、服务器
CN112913189B (zh) 一种ota升级方法及装置
CN110086755B (zh) 实现物联网服务的方法、应用服务器、物联网设备和介质
JPWO2018070242A1 (ja) 車載ゲートウェイ、鍵管理装置
CN113439425B (zh) 报文传输方法及装置
WO2020036070A1 (ja) 端末登録システムおよび端末登録方法
WO2022160124A1 (zh) 一种服务授权管理方法及装置
CN109314644A (zh) 数据提供系统、数据保护装置、数据提供方法以及计算机程序
Bella et al. Designing and implementing an AUTOSAR-based Basic Software Module for enhanced security
Wei et al. Authenticated can communications using standardized cryptographic techniques
Guštin CAN Bus Security Protocol: lightweight message confidentiality, authentication, and freshness on an automotive bus
CN117597683A (zh) 中心装置、车辆侧系统、内容的保护方法以及内容保护用程序
Iorio Protecting In-Vehicle Services with a Secure SOME/IP Protocol
CN118101173A (zh) 充电桩的调试端口密码更新方法、装置及系统
CN117616388A (zh) 车载通信系统、重编策略元数据的数据结构以及下载元数据的数据结构
CN116865993A (zh) 数据传输方法、装置、电子设备及存储介质
CN117909961A (zh) 基于金融软件供应链的程序发布方法及装置
CN118119042A (zh) 一种数据读取方法及相关装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20888565

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022528103

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020888565

Country of ref document: EP

Effective date: 20220523

ENP Entry into the national phase

Ref document number: 20227018960

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE