WO2022130699A1 - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- WO2022130699A1 WO2022130699A1 PCT/JP2021/031847 JP2021031847W WO2022130699A1 WO 2022130699 A1 WO2022130699 A1 WO 2022130699A1 JP 2021031847 W JP2021031847 W JP 2021031847W WO 2022130699 A1 WO2022130699 A1 WO 2022130699A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data block
- data
- block
- update
- electronic control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Definitions
- the present invention relates to an electronic control device mounted on a vehicle.
- An in-vehicle electronic control device such as an ECU (Electrical Control Unit) is controlled by a microcomputer (hereinafter referred to as a microcomputer).
- a microcomputer hereinafter referred to as a microcomputer.
- the ECU controls the target device by executing the control software stored in the flash ROM (Read Only Memory) which is a non-volatile memory.
- flash ROM Read Only Memory
- the ECU generally has a means for rewriting the control software written in the memory mounted on the ECU.
- a means for rewriting the control software written in the memory mounted on the ECU For example, there are the following means: (1) Connect a diagnostic tool to the ECU by wire via an OBD (On-Board Diagnostics) connector, and transmit data to be written to the flash ROM by a signal such as CAN (Control Area Network). Method (conventional method); (2) OTA (Over-The-Air): A method of transmitting updated data to the ECU by wireless communication.
- updated data may be received while the vehicle is running.
- the software rewriting time becomes long, and the process may be interrupted due to factors such as the power supply being cut off by the user. In such a case, there is a demand for a resume function that starts from the middle even if software rewriting is interrupted.
- Patent Document 1 describes the resume function of software rewriting.
- the data transfer source requests the ECU for the software rewriting start address.
- the transferred data is divided into several data blocks, encrypted for each data block, and sequentially transmitted to the ECU for each data block.
- another information for example, an encrypted data block immediately before the transfer start data block
- the encrypted data block cannot be decrypted on the ECU side only by notifying the data address to be retransmitted as in Patent Document 1.
- the present invention has been made in view of the above problems, and even when the updated data to be written to the ECU is encrypted, the writing process is appropriate when the writing process is interrupted.
- the purpose is to provide a technology that can be restarted.
- the first data block included in the updated data is encrypted using the second data block, and the writing process for writing the first data block to the storage unit is performed. If it is interrupted in the middle, the updated data including both the first data block and the second data block is reacquired, and then the first data block is re-decoded by using the re-acquired second data block. do.
- the writing process can be appropriately restarted when the writing process is interrupted.
- FIG. 1 It is a block diagram of the electronic control unit (ECU) 1 which concerns on Embodiment 1.
- FIG. It is a schematic diagram which shows the state which the update data 3 is encrypted. It is a block diagram of the global header 31. It is a flowchart explaining the resume process in program update. It is a flowchart explaining the process which the update data transmission unit 2 transmits the update data 4. It is a flowchart explaining the detail of S408. It is a flowchart explaining the detail of S603.
- FIG. It is a block diagram of the ECU 1 which concerns on Embodiment 3.
- FIG. It is a block diagram of the ECU 1 which concerns on Embodiment 4.
- FIG. 1 is a block diagram of an electronic control unit (ECU) 1 according to the first embodiment of the present invention.
- the ECU 1 is mounted on the vehicle.
- the ECU 1 controls the equipment mounted on the vehicle. Examples of in-vehicle devices include engines, power steering devices, control brake devices, and the like.
- the ECU 1 controls these devices by executing a control program that implements a process for controlling the in-vehicle devices.
- the ECU 1 includes a microcomputer 11.
- the microcomputer 11 has at least one CPU (Central Processing Unit) 12 for executing software, at least one volatile RAM (Random Access Memory) 13, at least one non-volatile memory 15 for holding programs and data, and at least one communication.
- a unit 14 is provided.
- the communication unit 14 is connected to an update data transmission unit 2 outside the ECU 1, and receives update data via the update data transmission unit 2 when updating a program.
- the update data transmission unit 2 may be, for example, a terminal for program update that is preferentially connected to the data communication connector of the vehicle, or may be a server computer that communicates with the ECU 1 by wireless communication. Alternatively, it may be another ECU mounted on the same vehicle.
- FIG. 2 is a schematic diagram showing how the update data 3 is encrypted.
- the update data 3 is data including an updated version such as a program executed by the ECU 1.
- the update data 3 is transmitted to the ECU 1 by wireless communication from, for example, a data center.
- the update data 3 is configured as, for example, binary data itself stored in the non-volatile memory 15.
- the update data 3 is composed of a global header 31 and one or more data blocks (data blocks 32, 33, and 3N are exemplified in FIG. 2).
- the data block is composed of a local header part and a body part (for example, the data block 32 is composed of a local header 321 and a body 322).
- the size of each data block may be the same or different.
- the body part of the data block is compressed before being transmitted to the ECU 1.
- the local header part is not compressed.
- a local header is added to the compressed body part.
- Update data 3 is created by concatenating a pair of a local header and a body to form one data, and further adding a global header 31.
- the local header describes the incidental information of the data block, and the global header describes the incidental information of the entire update data 3. Details of these headers will be described later.
- the update data 3 is encrypted before being transmitted to the ECU 1 to become the update data 4.
- the update data 4 has an encrypted data block (data blocks 42, 43, 4N are exemplified in FIG. 2).
- the global header 31 is added as it is without being encrypted.
- the encryption algorithm the block cipher is used in this embodiment, but another algorithm may be used. When the block cipher algorithm is used, the update data 4 is encrypted for each data block and then for each block of a certain size.
- the local header may or may not be encrypted. That is, as will be described later, it suffices if the correspondence between each data block in the update data 4 and the storage address of each data block on the non-volatile memory 15 can be specified. In other words, this correspondence may be described in the global header 31 or in each local header. In the former case, by describing the start address of each data block in the update data 4 in the global header 31, the ECU 1 is between each data block in the update data 4 and the storage destination address in the non-volatile memory 15. Since the correspondence between the two can be specified, each local header may be encrypted. In the latter case, each local header describes the position of the next local header in the update data 4, and by continuing this, the position of each data block in the update data 4 is specified.
- the local header of the data block describes information that can specify the position (address) in which the data block should be stored in the non-volatile memory 15.
- the ECU 1 can specify the correspondence relationship between each data block in the update data 4 and the storage destination address in the non-volatile memory 15.
- the global header 31 is not encrypted.
- the local header does not necessarily have to be placed at the beginning of the data block, for example, it may be placed at the end of the data block, or it may be placed at an arbitrary position between the beginning and the end.
- the head of the body of the next data block may be specified, or the local header of the next data block (however, the local header is placed at the head of the data block). (Only when it is) may be specified.
- FIG. 3 is a configuration diagram of the global header 31.
- the global header 31 has ROM information 311 and a resume address 312 and an IV (Initial Vector) 313.
- IV Initial Vector
- FIG. 3 an example is shown in which the relationship between the data block and the storage destination address in the non-volatile memory 15 (that is, the resume address 312) is stored in the global header 31.
- the ROM information 311 is information such as the number of blocks constituting the update data 3, the size of the update data 3, and the code indicating the compression / encryption algorithm.
- the resume address 312 describes the correspondence between the start address of each data block in the update data 3 and the address in which the data block is written in the non-volatile memory 15. The address itself in the non-volatile memory 15 may be described, or other information that can specify the address in the non-volatile memory 15 may be described.
- IV313 is the information required to decrypt the first encrypted data block (data block 42 in FIG. 2) in the block cipher.
- the ROM information 311 and the resume address 312 may be included in the local header.
- the IV 313 may not be included in the global header 31 and may be stored in the non-volatile memory 15 in advance.
- a part or all of each information in the global header 31 is transmitted to the ECU 1 via the update data transmission unit 2 and then stored in the non-volatile memory 15.
- the resume address 312 is stored in the non-volatile memory 15, and other information in the global header 31 is not stored.
- IV313 may be stored in the non-volatile memory 15.
- FIG. 4 is a flowchart illustrating the resume process in the program update. Each step of FIG. 4 will be described below.
- the update data transmission unit 2 requests the ECU 1 to transmit the transfer start address of the update data 4.
- the transfer start address is, for example, an address that specifies from which of the update data 4 the update data 4 is retransmitted to the ECU 1 when the process of writing the update data 4 to the non-volatile memory 15 is interrupted. If it is not interrupted, the start address may be specified.
- Step S402 The CPU 12 determines whether or not the data block first written to the non-volatile memory 15 is the first data block of the update data 4. This determination can be performed by referring to the write completion block information described later. If the first data block is to be written from now on, the process proceeds to S403, and if a data block other than the first data block is to be written from now on, the process proceeds to S404.
- Steps S403 and S407 The CPU 12 sets the transfer start request address at the beginning of the update data 4 (S403). The CPU 12 returns the transfer start request address to the update data transmission unit 2 (S407).
- Steps S404 to S406, S407 The CPU 12 specifies the start address of the area in which the data block in the non-volatile memory 15 has not been written according to the write completion block information (S404).
- the CPU 12 specifies the corresponding address in the update data 4 according to the specified address (S405). This address becomes the resume address of the update data 4.
- the correspondence between the address in the non-volatile memory 15 and the address in the update data 4 may be stored in the non-volatile memory 15 in advance, for example.
- this correspondence relationship is held in advance in the update data transmission unit 2, and the CPU 12 designates the address in the non-volatile memory 15 as the resume address, and the update data transmission unit 2 specifies the correspondence in the update data 4 according to the correspondence relationship. You may specify the address to be used.
- the CPU 12 sets the resume address as the transfer start request address (S406).
- the CPU 12 returns the transfer start request address to the update data transmission unit 2 (S407).
- the position of the data block in the update data 4 may be specified by the address in the update data 4, or may be specified by information other than the address such as the number of the data block. That is, it suffices that at least the information that can specify the correspondence between the data block in the update data 4 and the position in the non-volatile memory 15 can be shared between the update data transmission unit 2 and the ECU 1.
- Step S408 When the update data transmission unit 2 receives the transfer start request address from the ECU 1, the update data transmission unit 2 transmits the portion of the update data 4 after the transfer start request address to the ECU 1.
- the CPU 12 receives the update data 4 and writes it to the non-volatile memory 15. Details of this step will be described later.
- FIG. 5 is a flowchart illustrating a process in which the update data transmission unit 2 transmits the update data 4.
- the update data transmission unit 2 receives the transfer start request address from the ECU 1, the update data transmission unit 2 starts this flowchart.
- Each step of FIG. 5 will be described below.
- Step S501 The update data transmission unit 2 determines whether or not the transfer start request address is the first encrypted data block of the update data 4. If it is the beginning, the process proceeds to S502, and if it is not the beginning, the process proceeds to S503.
- step S502 The update data transmission unit 2 transmits IV313 used for decrypting the encrypted data block at the beginning of the update data 4 to the ECU 1.
- the update data transmission unit 2 transmits another encrypted data block used for decrypting the data block of the update data 4 to the ECU 1.
- the encryption is performed using the encrypted data block immediately before the data block. Therefore, the update data transmission unit 2 transmits the encrypted data block immediately before the data block specified by the transfer start request address to the ECU 1.
- the update data transmission unit 2 sequentially transmits data to the ECU 1 from the data block designated by the transfer start request address.
- the ECU 1 can perform decoding of the data block received first by using the data block received in S502 or S503.
- the previously received data block can be temporarily stored in a RAM 13 or the like, and decoding can be performed using this.
- the data block used for decoding may be temporarily stored in RAM 13 or the like.
- FIG. 6 is a flowchart illustrating the details of S408. Each step of FIG. 6 will be described below.
- the communication unit 14 receives the update data 4 from the update data transmission unit 2.
- the CPU 12 stores the global header 31 (ROM information 311, resume address 312, IV313) included in the update data 4 in the RAM 13 or the non-volatile memory 15.
- Step S602 The CPU 12 determines whether or not one or more encrypted data blocks have been received. For example, this determination can be performed based on whether or not the data received from the update data transmission unit 2 has reached the size of the encrypted data block. If one or more encrypted data blocks are received, the process proceeds to S603, and if not received, the process returns to S601 to continue receiving data.
- Step S603 The CPU 12 decrypts the received encrypted data block.
- the decoded data is expanded in the RAM 13 or the non-volatile memory 15. The details of the decoding process in this step will be described later.
- Step S604 The CPU 12 stores the last decrypted encrypted data block in the RAM 13 or the non-volatile memory 15 for use in decrypting the next encrypted data block.
- Step S605 The CPU 12 determines whether or not one or more compressed data blocks are included in the decoded data. For example, if the decoded data size is less than one compressed data block, it can be determined that there is no compressed data block. If the compressed data block is not included, it returns to S601 and continues to receive data. If the compressed data block is included, the process proceeds to S606.
- Step S606 The CPU 12 decompresses the compressed data block.
- Step S607 The CPU 12 determines whether or not the decompressed data has reached the write block size of the non-volatile memory 15. If it has not been reached, the process returns to step S601 to continue receiving data. If it has reached, proceed to S608.
- Steps S608 to S609 The CPU 12 writes the decompressed data to the non-volatile memory 15 (S608).
- the CPU 12 stores the write completion data block information indicating that the data block has been written in the non-volatile memory 15 (S609).
- the write completion data block information can also be used for checking the consistency of the written data block.
- the CPU 12 may determine whether or not the data block has been normally written by performing error correction processing or the like using the write completion data block information.
- FIG. 7 is a flowchart illustrating the details of S603.
- the encryption process and the decryption process use the AES-CBC (Advanced Encryption Standard-Cipher Block Chaining) mode, but the encryption process and the decryption process are not limited to this, and another algorithm may be used. Each step of FIG. 7 will be described below.
- AES-CBC Advanced Encryption Standard-Cipher Block Chaining
- Step S701 The CPU 12 determines whether or not the data block to be decrypted is the first encrypted data block (data block 42 in the example of FIG. 2) in the update data 4. If the first encrypted data block is to be decrypted from now on, the process proceeds to S702, and if the second and subsequent encrypted data blocks are to be decrypted from now on, the process proceeds to S704.
- Step S702 The CPU 12 decrypts the first encrypted data block in the update data 4.
- the decryption key for example, the same one used in the encryption process for generating the encrypted data block is used.
- the decryption key may be stored in the non-volatile memory 15 in advance, or may be transmitted to the ECU 1 by another secure method.
- Step S703 The CPU 12 generates a plaintext block, so-called plain text, by taking an exclusive OR (XOR) between the decrypted encrypted data block and the IV313 stored in the non-volatile memory 15 in S408 of FIG. Can be done.
- S702 to S703 may be collectively regarded as a decoding process in a broad sense. The same applies to S704 and S705.
- Step S704 The CPU 12 decrypts the second and subsequent encrypted data blocks in the update data 4.
- the decryption key is the same as S702.
- Step S705 The CPU 12 can generate a plaintext block by XORing the decrypted encrypted data block and the encrypted data block stored in the non-volatile memory 15 in S604 of FIG.
- FIG. 8 is a configuration diagram of the ECU 1 according to the second embodiment of the present invention.
- the data relay ECU 5 may relay the update data 4.
- the data relay ECU 5 is a gateway device arranged between the ECU 1 and the update data transmission unit 2, and can be mounted in the same in-vehicle network as the ECU 1.
- the data relay ECU 5 temporarily saves a copy thereof.
- the data relay ECU 5 does not decode or decompress the updated data 4.
- the update data transmission unit 2 in the first embodiment can be replaced with the data relay ECU 5, and the resume can be realized by the same method as the first embodiment.
- the update data 4 may be retransmitted between the update data transmission unit 2 and the data relay ECU 5. Since the data relay ECU 5 does not decode or decompress the update data 4, the retransmission start address may be simply immediately after the address range saved in the data relay ECU 5.
- FIG. 9 is a block diagram of the ECU 1 according to the third embodiment of the present invention.
- the update data 4 may be stored in a non-volatile storage device such as a flash memory 17 arranged outside the microcomputer 11 instead of the non-volatile memory 15.
- the microcomputer 11 accesses the flash memory 17 via an interface such as the serial communication unit 16 and writes the data block obtained by decoding / decompressing the update data 4.
- FIG. 10 is a block diagram of the ECU 1 according to the fourth embodiment of the present invention.
- the present invention can be applied even when the ECU 1 includes two or more microcomputers 11 as shown in FIG. Specifically, one of the microcomputers 11 receives the update data 4.
- the data block obtained by decompression / decoding from the update data 4 is shared by the other microcomputers 11 via the inter-microcomputer communication unit 18.
- the ECU 1 is an electronic control device mounted on a vehicle, a calculation unit that executes a program that implements a process for controlling the equipment mounted on the vehicle, and an update used to update the program.
- the first data block including a communication unit for receiving data and a storage unit for storing the program, and the first data block included in the update data is a second data block included in the update data and different from the first data block.
- the calculated unit decodes the updated data by decoding the first data block using the second data block, and the arithmetic unit decodes the decoded first data block.
- the updated data including both the first data block and the second data block is reacquired, and then the reacquired data is performed.
- the second data block is used to re-decode the first data block.
- the decoded data which is the target data of the writing process, will be lost. Therefore, when the writing process is restarted, it is necessary to perform the decoding process again, and this decoding process requires not only the block to be decoded but also another block used for decoding. Therefore, when resuming the writing process, not only the block to be the writing process but also the block used for the decoding is instructed to be retransmitted. As a result, the decryption process is appropriately performed, and the write process can be restarted.
- the first data block is arranged after the second data block in the update data
- the calculation unit is the first data when the writing process is interrupted in the middle.
- the update data including both the first data block and the second data block by reacquiring the update data from an address that traces back the difference between the start address of the block and the start address of the second data block. May be configured to reacquire.
- the arithmetic unit when the first data block and the second data block are reacquired together, specifies a resume address representing the position of the first data block, and then requests the reacquisition. Upon transmission, the arithmetic unit acquires the first data block from the address corresponding to the resume address among the re-acquired update data, and the second data from the address traced back by the difference from the resume address. It may be configured to acquire a block.
- the resume address of the block to be decrypted is specified, the resume address of both the block to be decrypted and the other block required for decryption can be resumed by setting in advance that another block used for decryption is also transmitted. You do not have to specify. This makes it possible to avoid complicated processing on the ECU 1 side.
- the update data is subjected to the encryption after being compressed, and the calculation unit performs the decompression process after the update data is decrypted.
- One data block and the second data block may be acquired from the updated data.
- the electronic control device further includes an initialization vector storage unit that stores an initialization vector used for decrypting the first encrypted data block in the update data, and the calculation unit is the initialization unit.
- the initialization vector stored in advance in the encryption vector storage unit may be used to decrypt the first encrypted data block in the update data. By performing an encryption process that requires an initialization vector during the decryption process, more secure data transfer can be performed.
- this initialization vector is included in the update data, it is not necessary to have the initialization vector on the vehicle side in advance, and it is easy to change the setting such as changing the initialization vector for each specification.
- the initialization vector is provided in advance on the vehicle side, the transmitted initialization vector does not disappear even when the reason for interrupting the writing process is such as power interruption.
- the update data includes an initialization vector used to decrypt the first encrypted data block in the update data, and the arithmetic unit uses the initialization vector in the update data. It may be configured to decrypt the first encrypted data block of. Thereby, even when an algorithm for performing decryption using another data block is used, the first encrypted data block can be appropriately decrypted.
- the initialization vector is included in the header portion at the beginning of the update data, and the calculation unit is in the case where the second data block is the first encrypted data block in the update data. Decodes the second data block using the initialization vector.
- the initialization vector is included in the global header, which is sent first when sending the update data, so you can be sure to use the initialization vector when decoding the first data block to be decoded. can.
- the electronic control device further includes a memory for temporarily storing the second data block used by the calculation unit when decoding the update data, and the calculation unit decodes the first data block.
- the second data block is stored in the memory in advance, and when the writing process is interrupted, the calculation unit reacquires the first data block and the second data from the memory. Reacquire the block. Since another block used for decoding is stored in the memory in advance, the decoding process may be performed by reading another block stored in the memory when performing the decoding process of the block to be decoded. For example, when manufacturing an electronic controller mounted on a vehicle, by storing the initialization vector in the memory in this electronic controller, the initialization vector is used during the decoding process without including the initialization vector in the update data. can do.
- the update data includes a first data block next to the second data block, and the calculation unit writes the second data block to the storage unit and then writes the first data block. If the process of writing to the storage unit is interrupted, the process of writing the updated data to the storage unit may be restarted from the first data block. Since the write process is restarted from the second data block next to the first data block in which the write process is completed, data transmission and write can be minimized, and efficient write process can be performed. ..
- the electronic control device further includes a memory for storing write completion block information indicating that the data block of the update data has been written to the storage unit, and the calculation unit is the storage unit.
- the write completion block information regarding the data block whose writing is completed is stored in the memory, and the calculation unit stores the first data block in the storage unit.
- the process of writing the update data to the storage unit may be restarted from the first data block.
- the calculation unit may be configured to diagnose whether or not the update data has been normally written to the storage unit according to the write completion block information. By determining the abnormality of the write process, it is possible to perform a safer write process, that is, a safe program data update process.
- the vehicle is equipped with a gateway device that temporarily stores the updated data and transfers the temporarily stored update data to the electronic control device, and the communication unit communicates via the gateway device.
- the gateway device may be configured to reacquire the update data temporarily stored. After the update data is once stored in the gateway, communication between the update data transmission unit 2 and the vehicle becomes unnecessary, so that the program data can be updated regardless of the communication state. Further, since the update data stored in the gateway is used when the writing process is restarted, there is no need to perform communication between the electronic terminal and the vehicle again.
- the update data includes an initialization vector used to decrypt the first encrypted data block in the update data
- the calculation unit has the second data block first in the update data.
- the second data block may be decrypted by acquiring the second data block and the initialization vector together.
- the decryption process can be appropriately performed by also transmitting the initialization vector required for the decryption process performed before the write process.
- the update data includes an initialization vector used to decrypt the first encrypted data block in the update data
- the first data block is the second data block in the update data.
- the arithmetic unit decodes the first data block by acquiring the first data block and the second data block together. It may be configured to be used.
- another block is required during the decryption process, so that the decryption process can be appropriately performed by transmitting this block as well.
- the present invention is not limited to the above embodiment, and includes various modifications.
- the above-described embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations.
- it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment and it is also possible to add the configuration of another embodiment to the configuration of one embodiment.
- the data to be written to the non-volatile memory 15 and the flash memory 17 may remain compressed.
- the CPU 12 when the CPU 12 uses the compressed data, it may be dynamically decompressed and temporarily stored in the RAM 13, and the decompressed data may be read from the RAM 13 and executed.
- the microcomputer 11 that first receives the update data 4 may decode the update data 4 and then transmit the decoded data to the other microcomputer 11, or the update data 4 may be transmitted to the other microcomputer 11 as it is. Then, each microcomputer 11 may decode it by itself.
- ECU 11 Microcomputer 12: CPU 13: RAM 14: Communication unit 15: Non-volatile memory 16: Serial communication unit 17: Flash memory 18: Inter-microcomputer communication unit 2: Update data transmission unit 3: Update data 31: Global headers 321 to 3N1: Local headers 322 to 3N2: Body 4 : Update data 42-4N: Encrypted data block 5: Data relay ECU
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
Description
図1は、本発明の実施形態1に係る電子制御装置(ECU)1の構成図である。ECU1は、車両に搭載されている。ECU1は、車両が搭載している機器を制御する。車載機器の例としては、エンジン、パワーステアリング装置、制御ブレーキ装置、などが挙げられる。ECU1は、車載機器を制御する処理を実装した制御プログラムを実行することにより、これら機器を制御する。
リジューム処理がスタートすると、更新データ送信部2はECU1に対して、更新データ4の転送開始アドレスを送信するように要求する。転送開始アドレスは、例えば更新データ4を不揮発性メモリ15へ書き込む処理が途中中断された場合、更新データ4のうちどこからECU1に対して再送するかを指定するアドレスである。途中中断していない場合は先頭アドレスを指定すればよい。
CPU12は、不揮発性メモリ15に対して最初に書き込むデータブロックが、更新データ4の先頭データブロックであるか否かを判定する。この判定は、後述する書き込み完了ブロック情報を参照することにより、実施できる。先頭データブロックをこれから書き込む場合はS403へ進み、先頭データブロック以外のデータブロックをこれから書き込む場合はS404へ進む。
CPU12は、転送開始要求アドレスを更新データ4の先頭にセットする(S403)。CPU12は、転送開始要求アドレスを更新データ送信部2へ返答する(S407)。
CPU12は、書き込み完了ブロック情報にしたがって、不揮発性メモリ15内のデータブロックを書き込み完了していない領域の先頭アドレスを特定する(S404)。CPU12は、特定したアドレスにしたがって、更新データ4内の対応するアドレスを特定する(S405)。このアドレスが更新データ4のリジュームアドレスとなる。不揮発性メモリ15内のアドレスと更新データ4内のアドレスとの間の対応関係は、例えばあらかじめ不揮発性メモリ15内に格納しておけばよい。あるいはこの対応関係を更新データ送信部2においてあらかじめ保持しておき、CPU12は不揮発性メモリ15内のアドレスをリジュームアドレスとして指定するとともに更新データ送信部2においてその対応関係にしたがって更新データ4内の対応するアドレスを特定してもよい。CPU12は、そのリジュームアドレスを転送開始要求アドレスとしてセットする(S406)。CPU12は、転送開始要求アドレスを更新データ送信部2へ返答する(S407)。
更新データ4内のデータブロックの位置は、更新データ4内のアドレスによって特定してもよいし、例えばデータブロックの番号などのようにアドレス以外の情報によって特定してもよい。すなわち、少なくとも更新データ4内のデータブロックと不揮発性メモリ15内の位置との間の対応関係を特定できる情報を、更新データ送信部2とECU1との間で共有できればよい。
更新データ送信部2は、転送開始要求アドレスをECU1から受領すると、更新データ4の転送開始要求アドレス以降の部分をECU1に対して送信する。CPU12は、更新データ4を受け取って不揮発性メモリ15へ書き込む。本ステップの詳細は後述する。
更新データ送信部2は、転送開始要求アドレスが更新データ4の先頭の暗号化データブロックであるか否かを判定する。先頭である場合はS502へ進み、先頭ではない場合はS503へ進む。
更新データ送信部2は、更新データ4の先頭の暗号化データブロックを復号するために用いるIV313を、ECU1に対して送信する。
更新データ送信部2は、更新データ4のデータブロックを復号するために用いる別の暗号化データブロックを、ECU1に対して送信する。典型的には、データブロックを暗号化する際に、その1つ前の暗号化済データブロックを用いて暗号化を実施する。したがって更新データ送信部2は、転送開始要求アドレスが指定するデータブロックの1つ前の暗号化データブロックを、ECU1に対して送信する。
更新データ送信部2は、転送開始要求アドレスが指定するデータブロックから順次、ECU1に対して送信する。ECU1は、最初に受信するデータブロックについては、S502またはS503において受信するデータブロックを用いて、復号を実施できる。それ以後のデータブロックについては、1つ前に受信したデータブロックをRAM13などに一時保存しておき、これを用いて復号を実施できる。1つ前に受信したデータブロック以外のデータブロックを復号において用いる場合は、復号のために用いるデータブロックをRAM13などに一時保存しておけばよい。
通信部14は、更新データ送信部2から更新データ4を受信する。CPU12は、更新データ4に含まれるグローバルヘッダ31(ROM情報311、リジュームアドレス312、IV313)を、RAM13または不揮発性メモリ15に格納する。
CPU12は、暗号化データブロックを1つ以上受信したか否かを判定する。例えば更新データ送信部2から受信したデータが暗号化データブロックのサイズに達しているか否かに基づき、この判定を実施できる。暗号化データブロックを1つ以上受信した場合はS603へ進み、未受信である場合はS601へ戻って引き続きデータを受信する。
CPU12は、受信した暗号化データブロックを復号する。復号したデータは、RAM13または不揮発性メモリ15に展開する。本ステップの復号処理の詳細については後述する。
CPU12は、最後に復号した暗号化データブロックを、次の暗号化データブロックの復号に使用するために、RAM13または不揮発性メモリ15に保存しておく。
CPU12は、復号したデータ内に圧縮データブロックが1つ以上含まれているか否かを判定する。例えば復号したデータサイズが圧縮データブロック1つ分に満たなければ、圧縮データブロックがないと判定することができる。圧縮データブロックが含まれていない場合は、S601へ戻って引き続きデータを受信する。圧縮データブロックが含まれている場合はS606へ進む。
CPU12は、圧縮データブロックを解凍する。
CPU12は、解凍したデータが不揮発性メモリ15の書き込みブロックサイズに達しているか否かを判定する。達していない場合は、ステップS601に戻って引き続きデータを受信する。達している場合はS608へ進む。
CPU12は、解凍したデータを不揮発性メモリ15に書き込む(S608)。CPU12は、当該データブロックを書き込み完了したことを表す書き込み完了データブロック情報を、不揮発性メモリ15に保存する(S609)。
書き込み完了データブロック情報は、書き込んだデータブロックの整合性チェックのために用いることもできる。例えば書き込み完了データブロック情報を用いて誤り訂正処理などを実施することにより、データブロックを正常に書き込み完了したか否かをCPU12が判断してもよい。
CPU12は、これから復号するデータブロックが更新データ4内の最初の暗号化データブロック(図2の例においてはデータブロック42)であるか否かを判定する。最初の暗号化データブロックをこれから復号する場合はS702へ進み、2つ目以降の暗号化データブロックをこれから復号する場合はS704へ進む。
CPU12は、更新データ4内の最初の暗号化データブロックを復号する。復号鍵は、例えば暗号化データブロックを生成するための暗号化処理において用いられたものと同じものを用いる。復号鍵は、あらかじめ不揮発性メモリ15に保存しておいてもよいし、別の安全な方法でECU1に対して送信するようにしてもよい。
CPU12は、復号された暗号化データブロックと、図4のS408において不揮発性メモリ15に保存したIV313との排他的論理和(XOR)を取ることにより、いわゆるプレーンテキストと呼ばれる平文ブロックを生成することができる。S702~S703をまとめて広義の復号処理とみなしてもよい。S704とS705についても同様である。
CPU12は、更新データ4内の2つ目以降の暗号化データブロックを復号する。復号鍵についてはS702と同様である。
CPU12は、復号された暗号化データブロックと、図6のS604において不揮発性メモリ15に保存した暗号化データブロックとのXORを取ることにより、平文ブロックを生成することができる。
図8は、本発明の実施形態2に係るECU1の構成図である。ECU1が更新データ4を更新データ送信部2から受け取る際に、データ中継ECU5が更新データ4を中継してもよい。例えばデータ中継ECU5は、ECU1と更新データ送信部2との間に配置されたゲートウェイ装置であり、ECU1と同じ車内ネットワーク内に搭載することができる。データ中継ECU5は、更新データ4を受け取ると、そのコピーをいったん保存する。データ中継ECU5は、更新データ4の復号や解凍を実施しない。
図9は、本発明の実施形態3に係るECU1の構成図である。更新データ4は、不揮発性メモリ15に代えて、マイコン11の外部に配置されたフラッシュメモリ17などの不揮発性記憶装置へ格納してもよい。この場合はマイコン11がシリアル通信部16などのインターフェースを介してフラッシュメモリ17へアクセスし、更新データ4を復号・解凍することによって得たデータブロックを書き込む。
図10は、本発明の実施形態4に係るECU1の構成図である。図10のようにECU1が2つ以上のマイコン11を備える場合においても、本発明を適用することができる。具体的には、いずれかのマイコン11が更新データ4を受信する。更新データ4から解凍・復号によって得たデータブロックを、マイコン間通信部18を介してその他のマイコン11が共有する。
本発明に係るECU1は、車両に搭載される電子制御装置であって、前記車両が搭載している機器を制御する処理を実装したプログラムを実行する演算部、前記プログラムを更新するために用いる更新データを受信する通信部、前記プログラムを記憶する記憶部、を備え、前記更新データ内に含まれる第1データブロックは、前記更新データ内に含まれ前記第1データブロックとは異なる第2データブロックを用いて暗号化されており、前記演算部は、前記第2データブロックを用いて前記第1データブロックを復号することにより、前記更新データを復号し、前記演算部は、前記復号した前記第1データブロックを前記記憶部に対して書き込む書込処理が途中中断した場合は、前記第1データブロックと前記第2データブロックをともに含む前記更新データを再取得した上で、前記再取得した前記第2データブロックを用いて前記第1データブロックを再復号する。例えば、電源の遮断等により書き込み処理が中断された場合、書き込み処理の対象データである復号データが消失する虞がある。よって、書き込み処理を再開する際には、再度、復号処理を行う必要があり、この復号処理には、復号するブロックだけでなく、復号のために用いる別のブロックも必要となる。そこで、書き込み処理の再開をする際、書き込み処理の対象となるブロックだけでなく、復号のために用いるブロックも併せて再送を指示する。これにより、適切に復号処理が行われ、書き込み処理を再開することができる。
本発明は上記実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
11:マイコン
12:CPU
13:RAM
14:通信部
15:不揮発性メモリ
16:シリアル通信部
17:フラッシュメモリ
18:マイコン間通信部
2:更新データ送信部
3:更新データ
31:グローバルヘッダ
321~3N1:ローカルヘッダ
322~3N2:ボディ
4:更新データ
42~4N:暗号化データブロック
5:データ中継ECU
Claims (14)
- 車両に搭載される電子制御装置であって、
前記車両が搭載している機器を制御する処理を実装したプログラムを実行する演算部、 前記プログラムを更新するために用いる更新データを受信する通信部、
前記プログラムを記憶する記憶部、
を備え、
前記更新データ内に含まれる第1データブロックは、前記更新データ内に含まれ前記第1データブロックとは異なる第2データブロックを用いて暗号化されており、
前記演算部は、前記第2データブロックを用いて前記第1データブロックを復号することにより、前記更新データを復号し、
前記演算部は、前記復号した前記第1データブロックを前記記憶部に対して書き込む書込処理が途中中断した場合は、前記第1データブロックと前記第2データブロックをともに含む前記更新データを再取得した上で、前記再取得した前記第2データブロックを用いて前記第1データブロックを再復号する
ことを特徴とする電子制御装置。 - 前記第1データブロックは、前記更新データ内において前記第2データブロックの後に配置されており、
前記演算部は、前記書込処理が途中中断した場合は、前記第1データブロックの開始アドレスと前記第2データブロックの開始アドレスとの間の差分を遡ったアドレスから前記更新データを再取得することにより、前記第1データブロックと前記第2データブロックをともに含む前記更新データを再取得する
ことを特徴とする請求項1記載の電子制御装置。 - 前記演算部は、前記第1データブロックと前記第2データブロックを併せて再取得するとき、前記第1データブロックの位置を表すリジュームアドレスを指定した上で、前記再取得のリクエストを発信し、
前記演算部は、前記再取得した前記更新データのうち前記リジュームアドレスに対応するアドレスから前記第1データブロックを取得するとともに、前記リジュームアドレスから前記差分だけ遡ったアドレスから前記第2データブロックを取得する
ことを特徴とする請求項2記載の電子制御装置。 - 前記更新データは、圧縮処理を施された後に前記暗号化を施されており、
前記演算部は、前記更新データに対して復号を実施した後に解凍処理を実施することにより、前記第1データブロックと前記第2データブロックを前記更新データから取得する ことを特徴とする請求項1記載の電子制御装置。 - 前記電子制御装置はさらに、前記更新データ内の最初の暗号化されたデータブロックを復号するために用いる初期化ベクトルを格納する初期化ベクトル記憶部を備え、
前記演算部は、前記初期化ベクトル記憶部があらかじめ格納している前記初期化ベクトルを用いて、前記更新データ内の最初の暗号化されたデータブロックを復号する
ことを特徴とする請求項1記載の電子制御装置。 - 前記更新データは、前記更新データ内の最初の暗号化されたデータブロックを復号するために用いる初期化ベクトルを含み、
前記演算部は、前記初期化ベクトルを用いて、前記更新データ内の最初の暗号化されたデータブロックを復号する
ことを特徴とする請求項1記載の電子制御装置。 - 前記初期化ベクトルは、前記更新データの先頭のヘッダ部分に含まれており、
前記演算部は、前記第2データブロックが前記更新データ内の最初の暗号化されたデータブロックである場合は、前記初期化ベクトルを用いて前記第2データブロックを復号する
ことを特徴とする請求項6記載の電子制御装置。 - 前記電子制御装置はさらに、前記演算部が前記更新データを復号する際に用いる前記第2データブロックを一時的に格納するメモリを備え、
前記演算部は、前記第1データブロックを復号する前にあらかじめ前記第2データブロックを前記メモリへ格納し、
前記演算部は、前記書込処理が途中中断した場合は、前記第1データブロックを再取得するとともに、前記メモリから前記第2データブロックを再取得する
ことを特徴とする請求項1記載の電子制御装置。 - 前記更新データは、前記第2データブロックの次に前記第1データブロックを含み、
前記演算部は、前記第2データブロックを前記記憶部に対して書き込んだ後、前記第1データブロックを前記記憶部に対して書き込む処理が途中中断した場合は、前記更新データを前記記憶部に対して書き込む処理を前記第1データブロックから再開する
ことを特徴とする請求項1記載の電子制御装置。 - 前記電子制御装置はさらに、前記更新データのデータブロックを前記記憶部に対して書込完了したことを表す書込完了ブロック情報を記憶するメモリを備え、
前記演算部は、前記記憶部に対して前記更新データのデータブロックを書き込むごとに前記メモリに対してその書込完了したデータブロックに関する前記書込完了ブロック情報を格納し、
前記演算部は、前記第1データブロックを前記記憶部に対して書込完了していない旨を前記書込完了ブロック情報が表している場合は、前記更新データを前記記憶部に対して書き込む処理を前記第1データブロックから再開する
ことを特徴とする請求項9記載の電子制御装置。 - 前記演算部は、前記書込完了ブロック情報にしたがって、前記更新データを前記記憶部に対して正常に書込完了したか否かを診断する
ことを特徴とする請求項10記載の電子制御装置。 - 前記車両は、前記更新データを一時保存するとともに前記一時保存した前記更新データを前記電子制御装置に対して転送するゲートウェイ装置を搭載しており、
前記通信部は、前記ゲートウェイ装置を介して前記更新データを受信し、
前記演算部は、前記途中中断した書込処理を再開する場合は、前記ゲートウェイ装置が一時保存している前記更新データを再取得する
ことを特徴とする請求項1記載の電子制御装置。 - 前記更新データは、前記更新データ内の最初の暗号化されたデータブロックを復号するために用いる初期化ベクトルを含み、
前記演算部は、前記第2データブロックが前記更新データ内の最初の暗号化されたデータブロックである場合は、前記第2データブロックと前記初期化ベクトルを併せて取得することにより、前記第2データブロックを復号する
ことを特徴とする請求項1記載の電子制御装置。 - 前記更新データは、前記更新データ内の最初の暗号化されたデータブロックを復号するために用いる初期化ベクトルを含み、
前記第1データブロックは、前記更新データ内において前記第2データブロックの後に配置されており、
前記演算部は、前記第1データブロックを復号する際には、前記第1データブロックと前記第2データブロックを併せて取得することにより、前記第1データブロックを復号する
ことを特徴とする請求項1記載の電子制御装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022569710A JP7506766B2 (ja) | 2020-12-16 | 2021-08-31 | 電子制御装置 |
| DE112021004928.3T DE112021004928T5 (de) | 2020-12-16 | 2021-08-31 | Elektronische steuervorrichtung |
| US18/254,457 US12432062B2 (en) | 2020-12-16 | 2021-08-31 | Electronic control device with secure resumption of interrupted write processing |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020208372 | 2020-12-16 | ||
| JP2020-208372 | 2020-12-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022130699A1 true WO2022130699A1 (ja) | 2022-06-23 |
Family
ID=82057490
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/031847 Ceased WO2022130699A1 (ja) | 2020-12-16 | 2021-08-31 | 電子制御装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12432062B2 (ja) |
| JP (1) | JP7506766B2 (ja) |
| DE (1) | DE112021004928T5 (ja) |
| WO (1) | WO2022130699A1 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021199575A1 (ja) * | 2020-03-30 | 2021-10-07 | 日立Astemo株式会社 | プログラム更新システム、車両制御装置及びプログラム更新方法 |
| JP7561210B2 (ja) * | 2020-12-16 | 2024-10-03 | 日立Astemo株式会社 | 電子制御装置 |
| US12688116B2 (en) * | 2022-04-22 | 2026-07-21 | Hitachi Astemo, Ltd. | Electronic control device and write control method |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006298261A (ja) * | 2005-04-22 | 2006-11-02 | Denso Corp | 自動車用制御ユニット |
| WO2018070156A1 (ja) * | 2016-10-14 | 2018-04-19 | 日立オートモティブシステムズ株式会社 | ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム |
| CN108170455A (zh) * | 2018-03-12 | 2018-06-15 | 晶晨半导体(上海)股份有限公司 | 升级包的打包方法以及升级方法 |
| JP2019519829A (ja) * | 2016-03-30 | 2019-07-11 | スクエア, インコーポレイテッド | 圧縮ファームウエア更新 |
| US20200034134A1 (en) * | 2018-07-30 | 2020-01-30 | Ford Global Technologies, Llc | Over The Air Ecu Update |
| JP2020187184A (ja) * | 2019-05-10 | 2020-11-19 | 株式会社デンソー | 暗号復号装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6447469B2 (ja) | 2015-11-23 | 2019-01-09 | 株式会社デンソー | 書換システム |
| US20170331795A1 (en) * | 2016-05-13 | 2017-11-16 | Ford Global Technologies, Llc | Vehicle data encryption |
| US10289404B2 (en) * | 2017-07-25 | 2019-05-14 | Aurora Labs Ltd. | Detecting anomalies using real-time ECU processing activity |
| JP6742381B2 (ja) * | 2018-10-15 | 2020-08-19 | 本田技研工業株式会社 | 車両制御装置、車両制御方法、およびプログラム |
| KR102751277B1 (ko) * | 2019-06-10 | 2025-01-10 | 현대자동차주식회사 | 차량 업데이트 제어 장치 및 방법 |
| KR102805477B1 (ko) * | 2020-06-30 | 2025-05-09 | 현대자동차주식회사 | 차량의 ecu 업데이트 제어 장치 및 그 방법 |
-
2021
- 2021-08-31 DE DE112021004928.3T patent/DE112021004928T5/de active Pending
- 2021-08-31 WO PCT/JP2021/031847 patent/WO2022130699A1/ja not_active Ceased
- 2021-08-31 US US18/254,457 patent/US12432062B2/en active Active
- 2021-08-31 JP JP2022569710A patent/JP7506766B2/ja active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006298261A (ja) * | 2005-04-22 | 2006-11-02 | Denso Corp | 自動車用制御ユニット |
| JP2019519829A (ja) * | 2016-03-30 | 2019-07-11 | スクエア, インコーポレイテッド | 圧縮ファームウエア更新 |
| WO2018070156A1 (ja) * | 2016-10-14 | 2018-04-19 | 日立オートモティブシステムズ株式会社 | ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム |
| CN108170455A (zh) * | 2018-03-12 | 2018-06-15 | 晶晨半导体(上海)股份有限公司 | 升级包的打包方法以及升级方法 |
| US20200034134A1 (en) * | 2018-07-30 | 2020-01-30 | Ford Global Technologies, Llc | Over The Air Ecu Update |
| JP2020187184A (ja) * | 2019-05-10 | 2020-11-19 | 株式会社デンソー | 暗号復号装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US12432062B2 (en) | 2025-09-30 |
| US20240015013A1 (en) | 2024-01-11 |
| JPWO2022130699A1 (ja) | 2022-06-23 |
| JP7506766B2 (ja) | 2024-06-26 |
| DE112021004928T5 (de) | 2023-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7506766B2 (ja) | 電子制御装置 | |
| CN109714292B (zh) | 传输报文的方法与装置 | |
| JP4843531B2 (ja) | 暗号変換装置、暗号変換方法および暗号変換プログラム | |
| US11516024B2 (en) | Semiconductor device, update data-providing method, update data-receiving method, and program | |
| JP6852009B2 (ja) | 情報処理装置及び情報処理方法 | |
| CN112995138A (zh) | 一种数据通信方法、装置、电子设备及可读存储介质 | |
| WO2019116922A1 (ja) | 車載更新装置、プログラム及びプログラム又はデータの更新方法 | |
| CN117435226B (zh) | 车载电子控制单元的数据刷写方法、设备及存储介质 | |
| KR100560658B1 (ko) | 고속의 오프셋 코드북 모드를 위한 암호화 장치 및 그 방법 | |
| JP7561210B2 (ja) | 電子制御装置 | |
| KR20230016493A (ko) | 차량 제어 장치 그 제어 방법 | |
| US20070150755A1 (en) | Microcomputer, method for writing program to microcomputer, and writing system | |
| US20080301455A1 (en) | Authentication System And Authentication Object Device | |
| JP7447864B2 (ja) | Otaマスタ、方法およびプログラム | |
| JP2006523870A (ja) | 制御装置内のソフトウェアのデータ整合性を検査する方法 | |
| JP5118494B2 (ja) | イン−ストリームデータ暗号化/復号の機能を有するメモリシステム | |
| JP7397403B2 (ja) | 電子情報記憶媒体、認証コード生成方法、認証コード検証方法、及びプログラム | |
| JP2020187184A (ja) | 暗号復号装置 | |
| JP2019040488A (ja) | 電子制御装置 | |
| JP2021128375A (ja) | 制御システムおよびサーバ装置 | |
| US12086585B2 (en) | Program update system, vehicle control device, and program update method | |
| US12278805B2 (en) | Method of controlling security key of vehicle | |
| JP7845259B2 (ja) | 電子制御装置及び暗号鍵の更新プログラム | |
| JP2010039779A (ja) | リーダライタ、情報読み出し方法、通信システムおよび通信方法 | |
| CN113722724A (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: 21906064 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2022569710 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18254457 Country of ref document: US |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21906064 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 18254457 Country of ref document: US |