WO2017033602A1 - 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム - Google Patents

車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム Download PDF

Info

Publication number
WO2017033602A1
WO2017033602A1 PCT/JP2016/070528 JP2016070528W WO2017033602A1 WO 2017033602 A1 WO2017033602 A1 WO 2017033602A1 JP 2016070528 W JP2016070528 W JP 2016070528W WO 2017033602 A1 WO2017033602 A1 WO 2017033602A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
computer
key
processing device
ecu
Prior art date
Application number
PCT/JP2016/070528
Other languages
English (en)
French (fr)
Inventor
竹森 敬祐
秀明 川端
Original Assignee
Kddi株式会社
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 Kddi株式会社 filed Critical Kddi株式会社
Publication of WO2017033602A1 publication Critical patent/WO2017033602A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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

Definitions

  • the present invention relates to an in-vehicle computer system, a vehicle, a management method, and a computer program.
  • ECU Electronic Control Unit
  • the ECU is a kind of computer and realizes a desired function by a computer program.
  • the ECU computer program is usually updated at a general automobile maintenance shop during an automobile inspection or a periodic inspection.
  • Non-Patent Documents 1 and 2 describe the security of the ECU.
  • Non-patent documents 1 and 2 mentioned above do not describe means for improving the security of the ECU. For this reason, it is desired to improve the reliability of application of data such as a computer program used in an in-vehicle computer such as an ECU provided in a vehicle such as an automobile. For example, after the ECU is activated, it is conceivable to improve the defense capability of the in-vehicle computer system by mutually authenticating the data exchange partner using a key held by the ECU. For example, it is conceivable to verify the validity of data exchanged between ECUs using a key held by the ECU.
  • an electronic signature is attached to data such as a computer program used in the ECU and distributed to the vehicle management device, and the electronic signature of the distributed data is verified using a key held by the management device.
  • data such as a computer program used in the ECU
  • the management and update of the key held in the automobile is a key security issue.
  • the present invention has been made in view of such circumstances, and provides an in-vehicle computer system, a vehicle, a management method, and a computer program that can contribute to the management and update of a key held in a vehicle such as an automobile. Is an issue.
  • a vehicle-mounted computer system is a vehicle-mounted computer system provided in a vehicle.
  • the vehicle-mounted computer system includes a first vehicle-mounted computer including a first cryptographic processing device having a first processing capability, and the first processing capability.
  • a plurality of second in-vehicle computers including a second cryptographic processing device having a second processing capability lower than the first in-vehicle computer.
  • the first in-vehicle computer and the plurality of second in-vehicle computers are provided in the vehicle.
  • the first in-vehicle computer connected to the communication network encrypts the first key used in the second in-vehicle computer with the first encryption processing device, and the encrypted data of the first key is encrypted.
  • An in-vehicle computer system includes the secure element having higher safety than the first encryption processing device and the second encryption processing device in the in-vehicle computer system according to (1).
  • the secure element generates a separate second key in each of the second in-vehicle computers held in the second in-vehicle computer, supplies the second key to the first in-vehicle computer,
  • the first in-vehicle computer uses the second key of the second in-vehicle computer that is the transmission destination of the encrypted data of the first key among the second keys supplied from the secure element as the encrypted data.
  • the second in-vehicle computer uses the second in-vehicle computer to decrypt the encrypted data of the first key received from the first in-vehicle computer. To use.
  • the secure element in the in-vehicle computer system according to (2), the secure element generates the second key held in the second in-vehicle computer.
  • the second in-vehicle computer has the same master key as the master key used together with the in-vehicle computer identifier, and uses the master key and the identifier of the second in-vehicle computer supplied from the second in-vehicle computer. Generate a second key for the computer.
  • An in-vehicle computer system is a vehicle-mounted computer system provided in a vehicle.
  • the on-vehicle computer system includes a first on-vehicle computer including a first cryptographic processing device having a relatively high processing capability, and a relatively low processing capability.
  • a plurality of second in-vehicle computers having a second cryptographic processing device, the first in-vehicle computer and the plurality of second in-vehicle computers being connected to a communication network provided in the vehicle,
  • the in-vehicle computer verifies the electronic signature of the computer program applied to the second in-vehicle computer by the first cryptographic processing device, calculates the expected value of the computer program by the first cryptographic processing device,
  • the computer program successfully verified the electronic signature and the computer program A waiting value is transmitted to the second in-vehicle computer, and the second in-vehicle computer determines the expected value for the computer program received from the first in-vehicle computer and the expected value of the computer program.
  • the computer program that has been verified by the second cryptographic processor and that has successfully verified the expected value is started.
  • the in-vehicle computer system according to one aspect of the present invention includes the secure element having higher safety than the first encryption processing device and the second encryption processing device in the in-vehicle computer system according to (4).
  • the vehicle receives the computer program and the electronic signature of the computer program via a wireless communication line, and the secure element verifies communication data exchanged via the wireless communication line.
  • the secure element is used when the first cryptographic processing device verifies an electronic signature of the computer program. Validate the key.
  • the in-vehicle computer system is the in-vehicle computer system according to any one of the above (5) and (6), wherein the vehicle is connected to the second in-vehicle computer via a wireless communication line.
  • the result of applying the computer program and the electronic signature of the result are transmitted, and the secure element verifies a key used when the first cryptographic processing apparatus generates the electronic signature of the result.
  • a vehicle according to an aspect of the present invention includes the in-vehicle computer system according to any one of (1) to (7).
  • an in-vehicle computer system provided in a vehicle includes a first in-vehicle computer including a first cryptographic processing apparatus having a first processing capability, and the first processing capability.
  • a plurality of second in-vehicle computers provided with a second cryptographic processing device having a second low processing capability, and communication in which the first in-vehicle computer and the plurality of second in-vehicle computers are provided in the vehicle.
  • the first in-vehicle computer connected to the network encrypts the first key used in the second in-vehicle computer by the first encryption processing device, and the encrypted data of the first key is stored in the first key.
  • an in-vehicle computer system provided in a vehicle includes a first in-vehicle computer including a first cryptographic processing device having a first processing capability, and the first processing capability.
  • a plurality of second in-vehicle computers provided with a second cryptographic processing device having a lower processing capacity, and the first in-vehicle computer and the plurality of second in-vehicle computers are connected to a communication network provided in the vehicle
  • the first in-vehicle computer verifies the electronic signature of the computer program applied to the second in-vehicle computer by the first encryption processing device, and the expected value of the computer program is converted into the first encryption processing.
  • the computer program calculated by the apparatus and successfully verified the electronic signature and the expected value of the computer program To the second vehicle-mounted computer, and the second vehicle-mounted computer receives the expected value for the computer program received from the first vehicle-mounted computer and the expected value of the computer program. Verifying with a second cryptographic processing device, and starting the computer program that successfully verified the expected value.
  • a computer program includes a first in-vehicle computer provided with a first cryptographic processing apparatus having a first processing capability in an in-vehicle computer system provided in a vehicle, and the first processing capability.
  • the first key used in the second in-vehicle computer is encrypted by the first encryption processing device in the first in-vehicle computer of the in-vehicle computer system, and the encrypted data of the first key Is transmitted to the second in-vehicle computer that is decrypted by the second cryptographic processing device.
  • a computer program includes a first in-vehicle computer provided with a first cryptographic processing apparatus having a first processing capability in an in-vehicle computer system provided in the vehicle, and the first processing capability.
  • a plurality of second in-vehicle computers provided with a second cryptographic processing device having a second low processing capability, and communication in which the first in-vehicle computer and the plurality of second in-vehicle computers are provided in the vehicle.
  • the encrypted data of the first key used by the second in-vehicle computer encrypted by the first encryption processing device is stored in the second in-vehicle computer of the in-vehicle computer system connected to the network.
  • a computer program includes a first in-vehicle computer provided with a first cryptographic processing device having a first processing capability in an in-vehicle computer system provided in the vehicle, and the first processing capability.
  • a plurality of second in-vehicle computers provided with a second cryptographic processing device having a second low processing capability, and communication in which the first in-vehicle computer and the plurality of second in-vehicle computers are provided in the vehicle.
  • a computer program according to an aspect of the present invention includes a first in-vehicle computer provided with a first cryptographic processing device having a first processing capability in an in-vehicle computer system provided in the vehicle, and the first processing capability.
  • a computer program applied to the second vehicle-mounted computer and an expected value of the computer program calculated by the first cryptographic processing device are applied to the second vehicle-mounted computer of the vehicle-mounted computer system connected to a network.
  • the computer program and the computer received from the first in-vehicle computer The expected value of the computer program is verified by the second cryptographic processor, and the step of starting the computer program that has successfully verified the expected value on the second in-vehicle computer is executed. .
  • FIG. 1 is a block diagram showing an automobile according to an embodiment of the present invention. It is a table
  • FIG. 1 is a diagram showing an automobile 1 according to an embodiment of the present invention.
  • the automobile 1 includes a master ECU 10 and a plurality of end ECUs 20.
  • the master ECU 10 and the end ECU 20 are in-vehicle computers provided in the automobile 1.
  • the master ECU 10 is a main ECU among the ECUs mounted on the automobile 1.
  • the end ECU 20 is a slave ECU among the ECUs mounted on the automobile 1. Examples of the end ECU 20 include an ECU having an engine control function, an ECU having a handle control function, and an ECU having a brake control function.
  • the master ECU 10 and the plurality of end ECUs 20 are connected to a control network 30 provided in the automobile 1.
  • the control network 30 is a communication network.
  • CAN Controller ⁇ ⁇ ⁇ Area (Network) may be used as the control network 30.
  • CAN is known as one of communication networks mounted on vehicles.
  • the master ECU 10 exchanges data with each end ECU 20 via the control network 30.
  • the end ECU 20 exchanges data with other end ECUs 20 via the control network 30.
  • the car 1 has a diagnostic port 60.
  • diagnosis port 60 for example, an OBD port may be used.
  • a diagnostic terminal can be connected to the diagnostic port 60.
  • the diagnostic port 60 is connected to the master ECU 10.
  • the master ECU 10 and the diagnostic terminal connected to the diagnostic port 60 exchange data via the diagnostic port 60.
  • the car 1 includes an infotainment device 40.
  • infotainment device 40 examples include a navigation function, a location information service function, a multimedia playback function such as music and video, a voice communication function, a data communication function, and an Internet connection function.
  • the infotainment device 40 is connected to the master ECU 10.
  • the master ECU 10 transmits information input from the infotainment device 40 to the end ECU 20.
  • the car 1 has a DCM (Data Communication Module) 50.
  • the DCM 50 is a communication device.
  • the DCM 50 includes a communication module 51.
  • the communication module 51 performs wireless communication using a wireless communication network.
  • the communication module 51 includes a SIM (Subscriber Identity Module) 52.
  • the SIM 52 is a SIM in which subscriber information of the wireless communication network is written.
  • the communication module 51 can perform wireless communication by connecting to the wireless communication network by using the SIM 52.
  • the SIM 52 includes a key storage unit 53 that stores a key.
  • an eSIM (Embedded Subscriber Identity) Module may be used as the SIM 52.
  • SIM and eSIM are examples of secure elements.
  • the secure element has tamper resistance.
  • SIM and eSIM are a kind of computer, and a desired function is realized by a computer program.
  • the DCM 50 is connected to the infotainment device 40.
  • the infotainment device 40 communicates with a device outside the automobile 1 by the DCM 50.
  • the master ECU 10 exchanges data with the communication module 51 of the DCM 50 via the infotainment device 40.
  • the master ECU 10 exchanges data with the communication module 51 via the infotainment device 40, but is not limited thereto.
  • the master ECU 10 and the DCM 50 may be directly connected, and the master ECU 10 may exchange data with the communication module 51 without using the infotainment device 40.
  • the master ECU 10 includes a main arithmetic unit 11 and an HSM (Hardware Security Module) 12.
  • the main computing unit 11 executes a computer program for realizing the function of the master ECU 10.
  • the HSM 12 has a cryptographic processing function.
  • HSM12 has tamper resistance.
  • the HSM 12 includes a key storage unit 13 that stores a key.
  • the main computing unit 11 uses an HSM 12.
  • the end ECU 20 includes a main computing unit 21 and a SHE (Secure Hardware Extension) 22.
  • the main computing unit 21 executes a computer program for realizing the functions of the end ECU 20.
  • the SHE 22 has a cryptographic processing function.
  • SHE22 has tamper resistance.
  • the SHE 22 includes a key storage unit 23 that stores a key.
  • the main calculator 21 uses SHE22.
  • the in-vehicle computer system 2 provided in the automobile 1 is configured by connecting a master ECU 10 and a plurality of end ECUs 20 to a control network 30.
  • the master ECU 10 has a gateway function and monitors communication between the inside and the outside of the in-vehicle computer system 2 as a main gateway (Central GW).
  • the in-vehicle computer system 2 may further include a SIM 52 of the communication module 51.
  • FIG. 2 is a chart showing examples of key types according to the present embodiment.
  • Examples of the key types used by the in-vehicle computer system 2 of the automobile 1 include a plurality of key types shown in FIG. FIG. 2 shows the level of the key security requirement and the level of the key distribution speed requirement for each key type. For example, a master key and a root certificate have the highest security requirements, but do not have a high speed requirement. Key exchange keys and MAC (Message Authentication Code) keys are required to have high speed.
  • MAC Message Authentication Code
  • the SIM 52 mainly performs processing related to a key having a relatively high level of key security requirement. Further, the HSM 12 mainly performs processing relating to a key having a relatively high level of request for high-speed key distribution.
  • the SIM 52 is a secure element that is safer than the HSM 12 and the SHE 22.
  • the HSM 12 and SHE 22 have a higher processing capacity than the SIM 52.
  • the HSM 12 has a higher processing capacity than the SHE 22.
  • HSM12 is an example of a first cryptographic processing device.
  • the master ECU 10 is an example of a first in-vehicle computer.
  • SHE 22 is an example of a second cryptographic processing device.
  • the end ECU 20 is an example of a second in-vehicle computer.
  • the SIM 52 is an example of a secure element that is safer than the first cryptographic processing device and the second cryptographic processing device.
  • the communication module 51 of the DCM 50 and the master ECU 10 transmit and receive data via the infotainment device 40.
  • the master ECU 10 and the end ECU 20 send and receive data via the control network 30.
  • FIG. 3 is a sequence chart showing Example 1 of the management method according to the present embodiment.
  • Example 1 of the management method according to the present embodiment is a method related to the distribution of the key exchange key when the end ECU 20 is newly mounted on the automobile 1.
  • the key exchange key is an example of a first key.
  • the HSM 12 of the master ECU 10 stores the initial key of the end ECU 20 already mounted on the automobile 1 in the key storage unit 13.
  • the key storage unit 13 stores the latest key exchange key Kx2.
  • the key exchange key Kx2 is the latest key exchange key distributed in the past to the end ECU 20 already mounted on the automobile 1.
  • Example 1 of the management method one end ECU 20 newly mounted on the automobile 1 will be described.
  • the SHE 22 of the end ECU 20 stores the initial key Ki5 of the own end ECU 20 in the key storage unit 23.
  • the end ECU 20 has its own identifier ECU_ID.
  • the SIM 52 stores the master key in the key storage unit 53.
  • the master key stored in the key storage unit 53 of the SIM 52 is the same master key that is used together with the identifier ECU_ID of the end ECU 20 to generate the initial key Ki5 stored in the key storage unit 23 of the end ECU 20.
  • the initial key Ki5 of the end ECU 20 is an example of the second key.
  • Step S10 ECU_ID Notification
  • the end ECU 20 supplies its own identifier ECU_ID to the SIM 52 when the power is first turned on after being mounted on the automobile 1.
  • the identifier ECU_ID of the end ECU 20 is transmitted from the end ECU 20 to the communication module 51 via the master ECU 10.
  • the communication module 51 supplies the received identifier ECU_ID of the end ECU 20 to the SIM 52.
  • Step S11 The SIM 52 acquires a master key from the key storage unit 53, and generates the initial key Ki5 of the end ECU 20 using the acquired master key and the identifier ECU_ID of the end ECU 20.
  • the communication module 51 transmits the set of the initial key Ki5 of the end ECU 20 generated by the SIM 52 and the identifier ECU_ID of the end ECU 20 to the master ECU 10.
  • the master ECU 10 supplies the received set of the initial key Ki5 of the end ECU 20 and the identifier ECU_ID of the end ECU 20 to the HSM 12.
  • the HSM 12 stores the initial key Ki5 of the end ECU 20 in the key storage unit 13 in association with the identifier ECU_ID of the end ECU 20.
  • the master ECU 10 shares the initial key Ki5 of the end ECU 20 with the end ECU 20.
  • the initial key generation method of the end ECU 20 is predetermined. Examples 1 and 2 of the initial key generation method of the end ECU 20 will be described.
  • Example 1 of initial key generation method of end ECU 20 In Example 1 of the initial key generation method of the end ECU 20, a hash function is used.
  • the hash value may be calculated using the concatenated data of the master key and the identifier ECU_ID of the end ECU 20 as an input value, and the calculated hash value may be used as the initial key of the end ECU 20.
  • Example 2 of ECU initial key generation method In the second example of the initial key generation method of the end ECU 20, an exclusive OR operation is used.
  • the exclusive OR operation of the master key and the identifier ECU_ID of the end ECU 20 may be executed, and the value “master key xor identifier ECU_ID” of the operation result may be used as the initial key of the end ECU 20.
  • “A xor B” is an exclusive OR of A and B.
  • Step S12 The HSM 12 of the master ECU 10 generates a random number Rn, and uses the generated random number Rn as a challenge value.
  • the master ECU 10 transmits the challenge value Rn to the end ECU 20.
  • Step S13; Response The end ECU 20 supplies the challenge value Rn received from the master ECU 10 to the SHE 22.
  • the SHE 22 generates encrypted data Ki5 (Rn) obtained by encrypting the challenge value Rn with the initial key Ki5 of the own end ECU 20 stored in the key storage unit 23.
  • the end ECU 20 transmits the encrypted data Ki5 (Rn) as a response value to the master ECU 10.
  • the master ECU 10 supplies the received response value Ki5 (Rn) to the HSM 12.
  • the HSM 12 executes a response matching process for this response value Ki5 (Rn).
  • the HSM 12 verifies the response value Ki5 (Rn) using the initial key Ki5 of the end ECU 20 stored in the key storage unit 13.
  • Examples of the verification method of the response value Ki5 (Rn) include the following verification method examples 1 and 2.
  • the HSM 12 encrypts the challenge value Rn with each of the plurality of initial keys Ki1,..., Ki5,... Stored in the key storage unit 13, and each encrypted result matches the response value Ki5 (Rn). Determine whether. As a result of the determination, if there is only one encrypted result that matches the response value Ki5 (Rn), the verification of the response value Ki5 (Rn) is successful. On the other hand, if there is no encryption result that matches the response value Ki5 (Rn) as a result of the determination, and there are a plurality of encryption results that match the response value Ki5 (Rn), the response value Ki5 (Rn) Verification failed.
  • the HSM 12 decrypts the response value Ki5 (Rn) with each of the plurality of initial keys Ki1,..., Ki5,... Stored in the key storage unit 13, and each decryption result matches the challenge value Rn. Determine whether. If the result of determination is that there is only one decryption result that matches the challenge value Rn, the response value Ki5 (Rn) has been successfully verified. On the other hand, if the result of determination is that there is no decryption result that matches the challenge value Rn, and there are multiple decryption results that match the challenge value Rn, verification of the response value Ki5 (Rn) fails.
  • the process proceeds to the subsequent steps. On the other hand, if the verification of the response value Ki5 (Rn) is unsuccessful, the process in FIG. 3 is terminated. Note that if the verification of the response value Ki5 (Rn) fails, a predetermined error process may be performed.
  • Step S14 The SHE 22 of the end ECU 20 generates a random number Rn ', and uses the generated random number Rn' as a challenge value.
  • the end ECU 20 transmits the challenge value Rn ′ to the master ECU 10.
  • Step S15 The master ECU 10 supplies the challenge value Rn 'received from the end ECU 20 to the HSM 12.
  • the HSM 12 generates encrypted data Ki5 (Rn ′) obtained by encrypting the challenge value Rn ′ with the initial key Ki5 of the end ECU 20 used when the response value Ki5 (Rn) is successfully verified in step S13. To do.
  • the master ECU 10 transmits the encrypted data Ki5 (Rn ′) as a response value to the end ECU 20.
  • the end ECU 20 supplies the received response value Ki5 (Rn ′) to the SHE 22.
  • the SHE 22 executes a response matching process on the response value Ki5 (Rn ′).
  • the SHE 22 uses the initial key Ki5 of the own end ECU 20 stored in the key storage unit 23 to verify the response value Ki5 (Rn ′).
  • the same method as the above-described verification method examples 1 and 2 can be cited.
  • Step S16 The HSM 12 of the master ECU 10 uses the initial key Ki5 of the end ECU 20 that was used when the response value Ki5 (Rn) was successfully verified in Step S13, and the key stored in the key storage unit 13
  • the exchange key Kx2 is encrypted to generate an encryption key exchange key Ki5 (Kx2).
  • the master ECU 10 transmits the encryption key exchange key Ki5 (Kx2) to the end ECU 20.
  • the end ECU 20 supplies the received encryption key exchange key Ki5 (Kx2) to the SHE 22.
  • Step S17 The SHE 22 of the end ECU 20 decrypts the encryption key exchange key Ki5 (Kx2) with the initial key Ki5 of the own end ECU 20 stored in the key storage unit 23. A key exchange key Kx2 is obtained as the decryption result.
  • Step S18 The SHE 22 of the end ECU 20 stores the decrypted key exchange key Kx2 in the key storage unit 23.
  • the SIM 52 has a master key with a relatively high level of key security requirement, and generates an initial key for the end ECU 20 using this master key. Further, the HSM 12 executes a process at the time of distributing the key exchange key, which has a relatively high level of request for high-speed key distribution.
  • Example 2 of management method With reference to FIG. 4, Example 2 of the management method which concerns on this embodiment is demonstrated.
  • FIG. 4 is a sequence chart showing Example 2 of the management method according to the present embodiment.
  • Example 2 of the management method according to the present embodiment is a method related to the update of the key exchange key for the end ECU 20 mounted on the automobile 1.
  • the key exchange key is an example of a first key.
  • the HSM 12 of the master ECU 10 stores the latest key exchange key Kx2 in the key storage unit 13.
  • the key exchange key Kx2 is the latest key exchange key distributed in the past to the end ECU 20 already mounted on the automobile 1.
  • Example 2 of the management method In the description of Example 2 of the management method below, one end ECU 20 that is a target of key exchange key update will be described.
  • the SHE 22 of the end ECU 20 stores the key exchange key Kx2 in the key storage unit 23.
  • Step S21 The HSM 12 of the master ECU 10 generates a new key exchange key Kx3.
  • Step S22 The HSM 12 of the master ECU 10 encrypts the key exchange key Kx3 using the key exchange key Kx2 stored in the key storage unit 13, and generates an encrypted key exchange key Kx2 (Kx3).
  • the master ECU 10 transmits the encryption key exchange key Kx2 (Kx3) to the end ECU 20.
  • the end ECU 20 supplies the received encryption key exchange key Kx2 (Kx3) to the SHE 22.
  • Step S23 The SHE 22 of the end ECU 20 decrypts the encrypted key exchange key Kx2 (Kx3) with the key exchange key Kx2 stored in the key storage unit 23. A key exchange key Kx3 is obtained as the decryption result.
  • Step S24 The SHE 22 of the end ECU 20 stores the decrypted key exchange key Kx3 in the key storage unit 23 as the latest key exchange key. Thereby, the key exchange key memorize
  • the HSM 12 executes a process at the time of updating a key exchange key that has a relatively high level of request for high-speed key distribution.
  • Example 3 of management method With reference to FIG. 5, Example 3 of the management method which concerns on this embodiment is demonstrated.
  • FIG. 5 is a sequence chart showing a third example of the management method according to the present embodiment.
  • Example 3 of the management method according to the present embodiment is a method related to updating the MAC key for the end ECU 20 mounted in the automobile 1.
  • the MAC key is an example of a first key.
  • the HSM 12 of the master ECU 10 stores the latest key exchange key Kx3 in the key storage unit 13.
  • the key exchange key Kx3 is the latest key exchange key distributed in the past to the end ECU 20 already mounted on the automobile 1.
  • the SHE 22 of the end ECU 20 stores the key exchange key Kx3 in the key storage unit 23.
  • Step S30 The SHE 22 of the end ECU 20 stores the MAC key k7 in the key storage unit 23.
  • the MAC key k7 is the latest MAC key distributed in the past from the master ECU 10.
  • Step S31 The HSM 12 of the master ECU 10 generates a new MAC key k8.
  • Step S32 The HSM 12 of the master ECU 10 encrypts the MAC key k8 using the key exchange key Kx3 stored in the key storage unit 13, and generates an encrypted MAC key Kx3 (k8).
  • the master ECU 10 transmits the encrypted MAC key Kx3 (k8) to the end ECU 20.
  • the end ECU 20 supplies the received encrypted MAC key Kx3 (k8) to the SHE 22.
  • Step S33 The SHE 22 of the end ECU 20 decrypts the encrypted MAC key Kx3 (k8) with the key exchange key Kx3 stored in the key storage unit 23. A MAC key k8 is obtained as a result of this decryption.
  • Step S34 The SHE 22 of the end ECU 20 stores the decrypted MAC key k8 in the key storage unit 23 as the latest MAC key. As a result, the MAC key stored in the key storage unit 23 of the SHE 22 of the end ECU 20 is updated to the latest MAC key k8.
  • Example 3 of the management method described above the HSM 12 executes a process at the time of updating a MAC key that requires a relatively high level of key distribution speed.
  • Example 4 of management method With reference to FIG. 6, Example 4 of the management method which concerns on this embodiment is demonstrated.
  • FIG. 6 is a sequence chart illustrating a fourth example of the management method according to the present embodiment.
  • Example 4 of the management method according to the present embodiment is a method related to the update of the computer program for the end ECU 20 mounted on the automobile 1.
  • the key storage unit 13 of the HSM 12 of the master ECU 10 stores a code signature key, an expected value registration key, a secure boot signature key_inside the vehicle, and a secure boot signature key_outside the vehicle.
  • the key storage unit 23 of the SHE 22 of the end ECU 20 stores the secure boot signature key_inside the vehicle.
  • the management server device 100 generates the electronic signature 210 of the ECU code 200 using the code signature key.
  • the ECU code 200 may be a program code of a computer program of the end ECU 20 or may be data.
  • the management server device 100 transmits the ECU code 200 with the electronic signature 210 to the diagnostic tool 110 via the communication line.
  • the diagnostic tool 110 is connected to the diagnostic port 60 of the automobile 1 by an operator such as an automobile maintenance shop.
  • the ECU code 200 with the electronic signature 210 is transmitted from the diagnostic tool 110 to the master ECU 10 via the diagnostic port 60.
  • the master ECU 10 supplies the received ECU code 200 with the electronic signature 210 to the HSM 12.
  • Step S42 The HSM 12 of the master ECU 10 verifies the electronic signature 210 using the code signature key stored in the key storage unit 13. If the verification of the electronic signature 210 is successful, the subsequent processing is executed. On the other hand, if the verification of the electronic signature 210 is unsuccessful, the processing in FIG. If verification of the electronic signature 210 fails, a predetermined error process may be performed.
  • the HSM 12 calculates an expected value using the expected value registration key for the ECU code 200 for which the electronic signature 210 has been successfully verified.
  • the expected value of the ECU code 200 for example, a CMAC (Cipher-based “Message Authentication” code) of the ECU code 200 may be used.
  • the master ECU 10 transmits to the end ECU 20 the ECU code 200 that has been successfully verified by the electronic signature 210 and the expected value of the ECU code 200.
  • Step S43 The end ECU 20 applies the ECU code 200 received from the master ECU 10 to itself. Further, the end ECU 20 supplies the expected value of the ECU code 200 received from the master ECU 10 to the SHE 22. The SHE 22 holds the expected value of the ECU code 200.
  • Step S44 The end ECU 20 executes secure boot.
  • the ECU code 200 is supplied to the SHE 22 by the boot loader.
  • the SHE 22 calculates the expected value of the ECU code 200 using the expected value registration key held by itself.
  • the SHE 22 compares the expected value of the calculation result with the expected value of the ECU code 200 held by itself. If the result of this comparison indicates that they match, the SHE 22 responds to the boot loader that the ECU code 200 has been successfully verified.
  • the boot loader activates the ECU code 200 when the response from the SHE 22 is a successful verification.
  • the SHE 22 responds to the boot loader that the verification of the ECU code 200 has failed.
  • the boot loader does not activate the ECU code 200 when the response from the SHE 22 is a verification failure.
  • the SHE 22 outputs a success response message indicating the successful verification of the ECU code 200.
  • the SHE 22 outputs, as this success response message, data obtained by encrypting the information indicating the successful verification of the ECU code 200 in the secure boot signature key_vehicle stored in the key storage unit 23.
  • the expected value of the ECU code 200 may be used as information indicating that the ECU code 200 has been successfully verified.
  • the end ECU 20 transmits a success response message to the master ECU 10.
  • the master ECU 10 supplies the received success response message to the HSM 12.
  • Step S45 The HSM 12 of the master ECU 10 decrypts the success response message using the secure boot signature key_in-vehicle stored in the key storage unit 13, and verifies the content of the success response message.
  • the HSM 12 checks whether the expected value of the ECU code 200 transmitted to the end ECU 20 in step S42 matches the expected value included in the success response message.
  • the HSM 12 uses the secure boot signature key_outside the vehicle stored in the key storage unit 13 to obtain the electronic signature 230 of the result 220 indicating the successful update of the ECU code 200. Generate. As the result 220, the expected value of the ECU code 200 may be used. If verification of the content of the success response message fails, a predetermined error process may be performed.
  • Step S ⁇ b> 46 The master ECU 10 transmits the result 220 with the electronic signature 230 to the diagnostic tool 110 via the diagnostic port 60.
  • the diagnostic tool 110 transmits the result 220 with the electronic signature 230 to the management server device 100 via the communication line.
  • the management server device 100 records the received result 220 with the electronic signature 230.
  • Example 4 of the above-described management method the HSM 12 performs the processing at the time of updating the ECU code 200 as a main body.
  • Example 5 of management method With reference to FIG. 7, Example 5 of the management method which concerns on this embodiment is demonstrated.
  • FIG. 7 is a sequence chart showing a fifth example of the management method according to the present embodiment.
  • Example 5 of the management method according to the present embodiment is a method related to updating of a computer program for the end ECU 20 mounted on the automobile 1.
  • the SIM 52 of the communication module 51 is further used as compared to the management method example 4 described above.
  • parts corresponding to the respective steps in FIG. 6 are given the same reference numerals, and the description thereof is omitted.
  • differences from Example 4 of the management method will be mainly described.
  • the key storage unit 53 of the SIM 52 of the communication module 51 stores a VPN (Virtual Private Network) key and a root certificate.
  • the VPN key is an example of an external communication key.
  • the root certificate is a code signing key and a secure boot signing key_a key used for verification of validity outside the vehicle.
  • Step S51 The management server device 100 generates the electronic signature 210 of the ECU code 200 using the code signature key.
  • the management server device 100 transmits the ECU code 200 with the electronic signature 210 to the communication module 51 via the VPN.
  • the VPN is configured using a wireless communication line.
  • the SIM 52 of the communication module 51 uses the VPN key stored in the key storage unit 53 to execute encryption and decryption of communication data exchanged via the VPN. As a result, the ECU code 200 with the electronic signature 210 is safely received by the communication module 51 from the management server device 100 via the VPN.
  • Step S52 The SIM 52 of the communication module 51 uses the Root certificate stored in the key storage unit 53, and the code signature key and the secure boot signature key stored in the key storage unit 13 of the HSM 12 of the master ECU 10 To verify. If the verification of both the code signing key and the secure boot signing key_outside the vehicle is successful, the subsequent processing is executed. On the other hand, if at least the verification of the code signing key fails, the process in FIG. Alternatively, when the verification of either the code signing key or the secure boot signing key_outside the vehicle fails, the process of FIG. 7 may be terminated. In addition, when verification of either the code signing key or the secure boot signing key_outside the vehicle fails, a predetermined error process may be performed.
  • Step S53 The communication module 51 transmits the ECU code 200 with the electronic signature 210 to the master ECU 10.
  • the master ECU 10 supplies the received ECU code 200 with the electronic signature 210 to the HSM 12.
  • steps S42 to S45 are executed in the same manner as in the fourth example of the management method described with reference to FIG.
  • Step S ⁇ b> 54 The master ECU 10 transmits the result 220 with the electronic signature 230 to the communication module 51.
  • the communication module 51 transmits the received result 220 with the electronic signature 230 to the management server device 100 via the VPN.
  • the result 220 with the electronic signature 230 is securely received by the management server apparatus 100 from the communication module 51 via the VPN.
  • the management server device 100 records the received result 220 with the electronic signature 230.
  • the SIM 52 has a root certificate with a relatively high level of key security requirement, and the code signing key and the secure key stored in the master ECU 10 using this root certificate. Verify boot signing key_outside the car.
  • the SIM 52 also has a VPN key with a relatively high level of key security requirements, and uses this VPN key to perform encryption and decryption of communication data exchanged via the VPN.
  • the HSM 12 performs the processing at the time of updating the ECU code 200 as a main body.
  • Root certificate may be a key used for verifying the validity of the VPN key, and the SIM 52 may verify the VPN key using this Root certificate.
  • the security of the VPN key is high. For this reason, in the above-described management method example 5, the VPN key is not verified.
  • Example 4 and Example 5 of the management method according to the present embodiment is only the communication path between the management server device 100 and the master ECU 10. Accordingly, it is only necessary to appropriately select whether to use the communication path via the diagnostic port 60 or the communication path via the communication module 51, and the management method examples 4 and 5 according to the present embodiment are used in combination. be able to.
  • Example 6 of management method With reference to FIG. 8, Example 6 of the management method according to the present embodiment will be described.
  • FIG. 8 is a sequence chart showing a sixth example of the management method according to the present embodiment.
  • Example 6 of the management method according to the present embodiment is a method related to the update of the computer program for the end ECU 20 mounted on the automobile 1.
  • the SIM 52 of the communication module 51 is used in the same manner as in the management method example 5.
  • the SIM 52 also executes the processing executed by the HSM 12 of the master ECU 10 in the management method example 5.
  • FIG. 8 the same reference numerals are given to the portions corresponding to the steps in FIGS. 6 and 7, and the description thereof is omitted.
  • differences from the above-described management method example 5 will be mainly described.
  • the key storage unit 53 of the SIM 52 of the communication module 51 stores a VPN key, a root certificate, a code signature key, an expected value registration key, a secure boot signature key_inside the vehicle, and a secure boot signature key_outside the vehicle.
  • Steps S51 and S52 are executed in the same manner as in the example 5 of the management method described with reference to FIG.
  • the SIM 52 of the communication module 51 uses the Root certificate stored in the key storage unit 53, and the code signing key stored in the key storage unit 53 and the secure Verify boot signing key_outside the car.
  • Step S42a corresponds to step S42 of the management method example 4 described with reference to FIG.
  • the process executed by the HSM 12 of the master ECU 10 is executed, and in step S42a of the management method example 6, the SIM 52 of the communication module 51 executes.
  • the SIM 52 of the communication module 51 verifies the electronic signature 210 using the code signing key stored in the key storage unit 53 against the ECU code 200 with the electronic signature 210. If the verification of the electronic signature 210 is successful, the subsequent processing is executed. On the other hand, if the verification of the electronic signature 210 is unsuccessful, the processing in FIG. If verification of the electronic signature 210 fails, a predetermined error process may be performed.
  • the SIM 52 calculates an expected value using the expected value registration key for the ECU code 200 for which the verification of the electronic signature 210 is successful.
  • the expected value of the ECU code 200 for example, the CMAC of the ECU code 200 may be used.
  • the communication module 51 transmits the ECU code 200 in which the electronic signature 210 has been successfully verified and the expected value of the ECU code 200 to the end ECU 20 via the master ECU 10.
  • steps S43 and S44 are executed in the same manner as in the fourth example of the management method described with reference to FIG.
  • the success response message transmitted from the ECU code 200 to the master ECU 10 is sent to the communication module 51 via the master ECU 10 (step S44a).
  • Step S45a corresponds to step S45 of the management method example 4 described with reference to FIG.
  • the processing executed by the HSM 12 of the master ECU 10 is executed, and in step S45a of the management method example 6, the SIM 52 of the communication module 51 executes.
  • the SIM 52 of the communication module 51 decrypts the success response message using the secure boot signature key_inside the vehicle stored in the key storage unit 53 and verifies the content of the success response message.
  • the SIM 52 checks whether the expected value of the ECU code 200 transmitted to the end ECU 20 in step S42a matches the expected value included in the success response message.
  • the SIM 52 uses the secure boot signature key_outside the vehicle stored in the key storage unit 53 to obtain the electronic signature 230 of the result 220 indicating the successful update of the ECU code 200. Generate. As the result 220, the expected value of the ECU code 200 may be used. If verification of the content of the success response message fails, a predetermined error process may be performed.
  • Step S54 The communication module 51 transmits the result 220 with the electronic signature 230 to the management server apparatus 100 via the VPN.
  • the result 220 with the electronic signature 230 is securely received by the management server apparatus 100 from the communication module 51 via the VPN.
  • the management server device 100 records the received result 220 with the electronic signature 230.
  • the SIM 52 has a root certificate with a relatively high level of key security requirement, and the code certificate key and the secure boot signature key_outside the vehicle are used by using this root certificate. Validate.
  • the SIM 52 also has a VPN key with a relatively high level of key security requirements, and uses this VPN key to perform encryption and decryption of communication data exchanged via the VPN. Further, the SIM 52 mainly performs processing at the time of updating the ECU code 200.
  • the management method example 6 may be applied to, for example, updating an ECU code that does not require immediacy.
  • the communication module 51 can exchange data with the diagnostic tool 110 connected to the diagnostic port 60 via the master ECU 10. As a result, the communication module 51 uses the communication path via the diagnostic port 60 using the communication path via the diagnostic port 60 as in steps S41 and S46 of the management method example 4 described with reference to FIG. 200 can be received, or the result 220 with the electronic signature 230 can be transmitted.
  • the SIM 52, the HSM 12, and the SIM 52 can be selectively used according to the level of the key security requirement and the level of the key distribution speed requirement. This makes it possible to balance both the security of the key and the speed of the key distribution.
  • the master ECU 10 can quickly execute the generation of the MAC key when the engine of the automobile 1 is started and share it with each end ECU 20.
  • the SIM 52 of the communication module 51 has a master key, and the master key is used to generate the initial key of the end ECU 20, thereby satisfying the requirement for the safety of the master key.
  • TPM Trusted Platform Module
  • the TPM is a tamper-resistant cryptographic processing chip.
  • TPM it describes in the nonpatent literature 3, for example.
  • an automobile is used as an example of the vehicle.
  • the present invention can be applied to other vehicles such as a motorbike and a railroad vehicle.
  • a computer program for realizing the functions of the above-described in-vehicle computer system 2 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into the computer system and executed.
  • the “computer system” may include an OS and hardware such as peripheral devices.
  • “Computer-readable recording medium” refers to a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disk), and a built-in computer system.
  • a storage device such as a hard disk.
  • the “computer-readable recording medium” means a volatile memory (for example, DRAM (Dynamic DRAM) in a computer system that becomes a server or a client when a program is transmitted through a network such as the Internet or a communication line such as a telephone line. Random Access Memory)), etc., which hold programs for a certain period of time.
  • the program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.
  • the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
  • the program may be for realizing a part of the functions described above. Furthermore, what can implement

Abstract

第1の処理能力を有するHSMを備えるマスタECUと、第1の処理能力よりも低い第2の処理能力を有するSHEを備える複数のエンドECUとを備え、マスタECUと複数のエンドECUとが制御用ネットワークに接続され、マスタECUは、エンドECUで使用される第1の鍵をHSMにより暗号化し、第1の鍵の暗号化データをエンドECUへ送信し、エンドECUは、マスタECUから受信した第1の鍵の暗号化データをSHEにより復号化する。

Description

車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
 本発明は、車載コンピュータシステム、車両、管理方法、及びコンピュータプログラムに関する。
 本願は、2015年8月24日に、日本に出願された特願2015-164774号に基づき優先権を主張し、その内容をここに援用する。
 近年、自動車は、ECU(Electronic Control Unit)を有し、ECUによってエンジン制御等の機能を実現する。ECUは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。既に使用されている自動車について、ECUのコンピュータプログラムの更新は、通常、自動車の検査時や定期点検時などに、一般の自動車整備工場で行われる。
 従来、ECUのコンピュータプログラムの更新では、作業者が、自動車のOBD(On-board Diagnostics)ポートと呼ばれる診断ポートにメンテナンス専用の診断端末を接続し、この診断端末から更新プログラムのインストール及びデータの設定変更などを行う。これに関し例えば非特許文献1、2にはECUのセキュリティについて記載されている。
C. Miller、C. Valasek、"Adventures in Automotive Networks and Control Units"、DEF CON 21、2013年8月 高田広章、松本勉、"車載組込みシステムの情報セキュリティ強化に関する提言"、2013年9月、インターネット<URL:https://www.ipa.go.jp/files/000034668.pdf> Trusted Computing Group、インターネット<URL:http://www.trustedcomputinggroup.org/>
 上述した非特許文献1、2では、ECUのセキュリティの向上を実現する手段については記載されない。このため、自動車等の車両に備わるECU等の車載コンピュータに使用されるコンピュータプログラム等のデータの適用についての信頼性を向上させることが望まれる。
 例えば、ECUが起動した後に、ECUが保持する鍵を使用してデータの交換相手を相互認証することによって、車載コンピュータシステムの防御能力を向上させることが考えられる。また、例えば、ECUが保持する鍵を使用して、ECU間で交換するデータの正当性を検証することが考えられる。また、例えば、ECUに使用されるコンピュータプログラム等のデータに電子署名を付して自動車の管理装置へ配布し、管理装置が保持する鍵を使用して、配布されたデータの電子署名を検証することにより、ECUに使用されるコンピュータプログラム等のデータを検査することが考えられる。ここで、自動車に保持される鍵の管理や更新をどのようにして実現するのかが、鍵の保安上の課題である。
 本発明は、このような事情を考慮してなされたものであり、自動車等の車両に保持される鍵の管理や更新に寄与できる車載コンピュータシステム、車両、管理方法、及びコンピュータプログラムを提供することを課題とする。
(1)本発明の一態様による車載コンピュータシステムは、車両に備わる車載コンピュータシステムにおいて、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、前記第1の車載コンピュータは、前記第2の車載コンピュータで使用される第1の鍵を前記第1の暗号処理装置により暗号化し、前記第1の鍵の暗号化データを前記第2の車載コンピュータへ送信し、前記第2の車載コンピュータは、前記第1の車載コンピュータから受信した前記第1の鍵の暗号化データを前記第2の暗号処理装置により復号化する。
(2)本発明の一態様による車載コンピュータシステムは、上記(1)の車載コンピュータシステムにおいて、前記第1の暗号処理装置及び前記第2の暗号処理装置よりも安全性の高いセキュアエレメントを備え、前記セキュアエレメントは、前記第2の車載コンピュータに保持される各前記第2の車載コンピュータで別個の第2の鍵を生成し、この第2の鍵を前記第1の車載コンピュータへ供給し、前記第1の車載コンピュータは、前記セキュアエレメントから供給された第2の鍵のうち、前記第1の鍵の暗号化データの送信先の前記第2の車載コンピュータの第2の鍵を前記暗号化データの暗号化に使用し、前記第2の車載コンピュータは、前記第1の車載コンピュータから受信した前記第1の鍵の暗号化データの復号化に自己の第2の鍵を使用する。
(3)本発明の一態様による車載コンピュータシステムは、上記(2)の車載コンピュータシステムにおいて、前記セキュアエレメントは、前記第2の車載コンピュータに保持される第2の鍵の生成に前記第2の車載コンピュータの識別子と共に使用されたマスタ鍵と同じマスタ鍵を有し、前記マスタ鍵と前記第2の車載コンピュータから供給された前記第2の車載コンピュータの識別子とを使用して前記第2の車載コンピュータの第2の鍵を生成する。
(4)本発明の一態様による車載コンピュータシステムは、車両に備わる車載コンピュータシステムにおいて、比較的高い処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、比較的低い処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、前記第1の車載コンピュータは、前記第2の車載コンピュータに適用されるコンピュータプログラムの電子署名を前記第1の暗号処理装置により検証し、前記コンピュータプログラムの期待値を前記第1の暗号処理装置により算出し、電子署名の検証が成功した前記コンピュータプログラムと前記コンピュータプログラムの期待値とを前記第2の車載コンピュータへ送信し、前記第2の車載コンピュータは、前記第1の車載コンピュータから受信した前記コンピュータプログラムと前記コンピュータプログラムの期待値とに対して、前記期待値を前記第2の暗号処理装置により検証し、前記期待値の検証が成功した前記コンピュータプログラムを起動する。
(5)本発明の一態様による車載コンピュータシステムは、上記(4)の車載コンピュータシステムにおいて、前記第1の暗号処理装置及び前記第2の暗号処理装置よりも安全性の高いセキュアエレメントを備え、前記車両は、無線通信回線を介して、前記コンピュータプログラムと前記コンピュータプログラムの電子署名を受信し、前記セキュアエレメントは、前記無線通信回線を介して交換される通信データを検証する。
(6)本発明の一態様による車載コンピュータシステムは、上記(5)の車載コンピュータシステムにおいて、前記セキュアエレメントは、前記第1の暗号処理装置が前記コンピュータプログラムの電子署名を検証する際に使用する鍵を検証する。
(7)本発明の一態様による車載コンピュータシステムは、上記(5)又は(6)のいずれかの車載コンピュータシステムにおいて、前記車両は、無線通信回線を介して、前記第2の車載コンピュータに対する前記コンピュータプログラムの適用の結果と前記結果の電子署名を送信し、前記セキュアエレメントは、前記第1の暗号処理装置が前記結果の電子署名を生成する際に使用する鍵を検証する。
(8)本発明の一態様による車両は、上記(1)から(7)のいずれかの車載コンピュータシステムを備える。
(9)本発明の一態様による管理方法は、車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、前記第1の車載コンピュータが、前記第2の車載コンピュータで使用される第1の鍵を前記第1の暗号処理装置により暗号化し、前記第1の鍵の暗号化データを前記第2の車載コンピュータへ送信するステップと、前記第2の車載コンピュータが、前記第1の車載コンピュータから受信した前記第1の鍵の暗号化データを前記第2の暗号処理装置により復号化するステップとを含む。
(10)本発明の一態様による管理方法は、車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、前記第1の車載コンピュータが、前記第2の車載コンピュータに適用されるコンピュータプログラムの電子署名を前記第1の暗号処理装置により検証し、前記コンピュータプログラムの期待値を前記第1の暗号処理装置により算出し、電子署名の検証が成功した前記コンピュータプログラムと前記コンピュータプログラムの期待値とを前記第2の車載コンピュータへ送信するステップと、前記第2の車載コンピュータが、前記第1の車載コンピュータから受信した前記コンピュータプログラムと前記コンピュータプログラムの期待値とに対して、前記期待値を前記第2の暗号処理装置により検証し、前記期待値の検証が成功した前記コンピュータプログラムを起動するステップとを含む。
(11)本発明の一態様によるコンピュータプログラムは、車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第1の車載コンピュータに、前記第2の車載コンピュータで使用される第1の鍵を前記第1の暗号処理装置により暗号化し、前記第1の鍵の暗号化データを、前記第2の暗号処理装置により復号化する前記第2の車載コンピュータへ送信するステップを実行させる。
(12)本発明の一態様によるコンピュータプログラムは、車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第2の車載コンピュータに、前記第1の暗号処理装置により暗号化された前記第2の車載コンピュータで使用される第1の鍵の暗号化データを前記第1の車載コンピュータから受信し、前記第1の鍵の暗号化データを前記第2の暗号処理装置により復号化するステップを実行させる。
(13)本発明の一態様によるコンピュータプログラムは、車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第1の車載コンピュータに、前記第2の車載コンピュータに適用されるコンピュータプログラムの電子署名を前記第1の暗号処理装置により検証し、前記コンピュータプログラムの期待値を前記第1の暗号処理装置により算出し、電子署名の検証が成功した前記コンピュータプログラムと前記コンピュータプログラムの期待値とを、前記第2の暗号処理装置により検証する前記第2の車載コンピュータへ送信するステップを実行させる。
(14)本発明の一態様によるコンピュータプログラムは、車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータとを備え、前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第2の車載コンピュータに、前記第2の車載コンピュータに適用されるコンピュータプログラムと前記第1の暗号処理装置により算出された前記コンピュータプログラムの期待値とを前記第1の車載コンピュータから受信し、前記コンピュータプログラムと前記コンピュータプログラムの期待値とに対して、前記期待値を前記第2の暗号処理装置により検証し、前記期待値の検証が成功した前記コンピュータプログラムを前記第2の車載コンピュータで起動するステップを実行させる。
 本発明によれば、自動車等の車両に保持される鍵の管理や更新に寄与できるという効果が得られる。
本発明の一実施形態に係る自動車を示すブロック図である。 本発明の一実施形態に係る鍵の種類の例を示す表である。 本発明の一実施形態に係る管理方法の例1を示すシーケンスチャートである。 本発明の一実施形態に係る管理方法の例2を示すシーケンスチャートである。 本発明の一実施形態に係る管理方法の例3を示すシーケンスチャートである。 本発明の一実施形態に係る管理方法の例4を示すシーケンスチャートである。 本発明の一実施形態に係る管理方法の例5を示すシーケンスチャートである。 本発明の一実施形態に係る管理方法の例6を示すシーケンスチャートである。
 以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
 図1は、本発明の一実施形態に係る自動車1を示す図である。
 図1において、自動車1は、マスタECU10と複数のエンドECU20を備える。マスタECU10及びエンドECU20は、自動車1に備わる車載コンピュータである。マスタECU10は、自動車1に搭載されたECUのうち、主となるECUである。エンドECU20は、自動車1に搭載されたECUのうち、従となるECUである。エンドECU20として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。
 マスタECU10と複数のエンドECU20は、自動車1に備わる制御用ネットワーク30に接続される。制御用ネットワーク30は通信ネットワークである。制御用ネットワーク30として、例えばCAN(Controller Area Network)を使用してもよい。CANは車両に搭載される通信ネットワークの一つとして知られている。
 マスタECU10は、制御用ネットワーク30を介して、各エンドECU20との間でデータを交換する。エンドECU20は、制御用ネットワーク30を介して、他のエンドECU20との間でデータを交換する。
 自動車1は診断ポート60を備える。診断ポート60として、例えばOBDポートを使用してもよい。診断ポート60には診断端末を接続可能である。診断ポート60はマスタECU10に接続される。マスタECU10と診断ポート60に接続された診断端末とは、診断ポート60を介して、データを交換する。
 自動車1はインフォテイメント(Infotainment)機器40を備える。インフォテイメント機器40として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。インフォテイメント機器40はマスタECU10に接続される。マスタECU10は、インフォテイメント機器40から入力された情報をエンドECU20へ送信する。
 自動車1は、DCM(Data Communication Module)50を備える。DCM50は通信装置である。DCM50は通信モジュール51を備える。通信モジュール51は、無線通信ネットワークを利用して無線通信を行う。通信モジュール51は、SIM(Subscriber Identity Module)52を備える。SIM52は、無線通信ネットワークの契約者情報が書き込まれたSIMである。通信モジュール51は、SIM52を使用することによりこの無線通信ネットワークに接続して無線通信を行うことができる。
 SIM52は、鍵を記憶する鍵記憶部53を備える。なお、SIM52として、eSIM(Embedded Subscriber Identity Module)を使用してもよい。SIM及びeSIMはセキュアエレメントの例である。セキュアエレメントは耐タンパー性(Tamper Resistant)を有する。SIM及びeSIMは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。
 DCM50はインフォテイメント機器40に接続される。インフォテイメント機器40は、DCM50により、自動車1の外部の装置と通信を行う。マスタECU10は、インフォテイメント機器40を介して、DCM50の通信モジュール51とデータを交換する。
 なお、図1の構成ではマスタECU10がインフォテイメント機器40を介して通信モジュール51とデータを交換するが、これに限定されない。マスタECU10とDCM50を直接接続し、マスタECU10が、インフォテイメント機器40を介さずに、通信モジュール51とデータを交換してもよい。
 マスタECU10は、メイン演算器11とHSM(Hardware Security Module)12を備える。メイン演算器11は、マスタECU10の機能を実現させるためのコンピュータプログラムを実行する。HSM12は暗号処理機能を有する。HSM12は耐タンパー性を有する。HSM12は、鍵を記憶する鍵記憶部13を備える。メイン演算器11はHSM12を使用する。
 エンドECU20は、メイン演算器21とSHE(Secure Hardware Extension)22を備える。メイン演算器21は、エンドECU20の機能を実現させるためのコンピュータプログラムを実行する。SHE22は暗号処理機能を有する。SHE22は耐タンパー性を有する。SHE22は、鍵を記憶する鍵記憶部23を備える。メイン演算器21はSHE22を使用する。
 自動車1に備わる車載コンピュータシステム2は、マスタECU10と複数のエンドECU20とが制御用ネットワーク30に接続されて構成される。マスタECU10は、ゲートウェイ機能を有し、主ゲートウェイ(Central GW)として、車載コンピュータシステム2の内部と外部の間の通信を監視する。なお、車載コンピュータシステム2は、通信モジュール51のSIM52をさらに含んで構成されてもよい。
 図2は、本実施形態に係る鍵の種類の例を示す図表である。
 自動車1の車載コンピュータシステム2が使用する鍵の種類の例として、図2に示される複数の鍵の種類が挙げられる。図2には、鍵の種類毎に、鍵の安全性の要求のレベルと鍵の配布の高速性の要求のレベルが示される。例えば、マスタ(Master)鍵及びRoot証明書は、安全性の要求が最も高いが、高速性の要求がない。鍵交換鍵及びMAC(Message Authentication Code:メッセージ認証コード)鍵は、高速性の要求がある。
 本実施形態では、鍵の安全性の要求のレベルが比較的高い鍵に関する処理をSIM52が主体となって実行する。また、鍵の配布の高速性の要求のレベルが比較的高い鍵に関する処理をHSM12が主体となって行う。SIM52は、HSM12及びSHE22よりも安全性の高いセキュアエレメントである。HSM12及びSHE22は、SIM52よりも高い処理能力を有する。HSM12は、SHE22よりも高い処理能力を有する。
 HSM12は第1の暗号処理装置の例である。マスタECU10は第1の車載コンピュータの例である。SHE22は第2の暗号処理装置の例である。エンドECU20は第2の車載コンピュータの例である。SIM52は、第1の暗号処理装置及び第2の暗号処理装置よりも安全性の高いセキュアエレメントの例である。
 次に、本実施形態に係る管理方法を説明する。なお、以下の説明において、DCM50の通信モジュール51とマスタECU10はインフォテイメント機器40を介してデータを送受する。マスタECU10とエンドECU20は、制御用ネットワーク30を介してデータを送受する。
[管理方法の例1]
 図3を参照して、本実施形態に係る管理方法の例1を説明する。図3は、本実施形態に係る管理方法の例1を示すシーケンスチャートである。本実施形態に係る管理方法の例1は、自動車1に対して新たにエンドECU20が実装される場合の鍵交換鍵の配布に関する方法である。鍵交換鍵は第1の鍵の例である。
 マスタECU10のHSM12は、自動車1に既に搭載されているエンドECU20の初期鍵を鍵記憶部13に記憶している。また、鍵記憶部13は、最新の鍵交換鍵Kx2を記憶している。鍵交換鍵Kx2は、自動車1に既に搭載されているエンドECU20に対して過去に配布した最新の鍵交換鍵である。
 以下の管理方法の例1の説明では、自動車1に対して新たに実装される一つのエンドECU20について説明する。エンドECU20のSHE22は、自エンドECU20の初期鍵Ki5を鍵記憶部23に記憶している。エンドECU20は、自己の識別子ECU_IDを有する。SIM52は、マスタ鍵を鍵記憶部53に記憶している。SIM52の鍵記憶部53に記憶されるマスタ鍵は、エンドECU20の鍵記憶部23に記憶される初期鍵Ki5の生成にこのエンドECU20の識別子ECU_IDと共に使用されたマスタ鍵と同じマスタ鍵である。エンドECU20の初期鍵Ki5は第2の鍵の例である。
(ステップS10;ECU_ID通知)エンドECU20は、自動車1に搭載されてから初めて電源投入された時に、自己の識別子ECU_IDをSIM52へ供給する。エンドECU20の識別子ECU_IDは、エンドECU20からマスタECU10を介して通信モジュール51へ送信される。通信モジュール51は、受信したエンドECU20の識別子ECU_IDをSIM52へ供給する。
(ステップS11)SIM52は、鍵記憶部53からマスタ鍵を取得し、取得したマスタ鍵とエンドECU20の識別子ECU_IDを使用してこのエンドECU20の初期鍵Ki5を生成する。通信モジュール51は、SIM52が生成したエンドECU20の初期鍵Ki5とこのエンドECU20の識別子ECU_IDの組をマスタECU10へ送信する。
 マスタECU10は、受信したエンドECU20の初期鍵Ki5とこのエンドECU20の識別子ECU_IDの組をHSM12へ供給する。HSM12は、このエンドECU20の識別子ECU_IDに関連付けてこのエンドECU20の初期鍵Ki5を鍵記憶部13に記憶する。これにより、マスタECU10は、エンドECU20と、このエンドECU20の初期鍵Ki5を共有する。
 エンドECU20の初期鍵の生成方法は予め定められている。エンドECU20の初期鍵の生成方法の例1、例2を説明する。
(エンドECU20の初期鍵の生成方法の例1)
 エンドECU20の初期鍵の生成方法の例1では、ハッシュ(hash)関数を利用する。
例えば、マスタ鍵とエンドECU20の識別子ECU_IDの連結データを入力値に使用してハッシュ値を算出し、算出したハッシュ値をエンドECU20の初期鍵に使用してもよい。
(ECU初期鍵の生成方法の例2)
 エンドECU20の初期鍵の生成方法の例2では、排他的論理和演算を利用する。例えば、マスタ鍵とエンドECU20の識別子ECU_IDの排他的論理和演算を実行し、演算結果の値「マスタ鍵 xor 識別子ECU_ID」をエンドECU20の初期鍵に使用してもよい。但し、「A xor B」はAとBの排他的論理和である。
(ステップS12;チャレンジ)マスタECU10のHSM12は、乱数Rnを生成し、生成した乱数Rnをチャレンジ値とする。マスタECU10は、チャレンジ値RnをエンドECU20へ送信する。
(ステップS13;レスポンス)エンドECU20は、マスタECU10から受信したチャレンジ値RnをSHE22へ供給する。SHE22は、このチャレンジ値Rnを鍵記憶部23に記憶される自エンドECU20の初期鍵Ki5で暗号化した暗号化データKi5(Rn)を生成する。エンドECU20は、暗号化データKi5(Rn)をレスポンス値として、マスタECU10へ送信する。マスタECU10は、受信したレスポンス値Ki5(Rn)をHSM12へ供給する。
 HSM12は、このレスポンス値Ki5(Rn)に対して、レスポンスマッチング処理を実行する。レスポンスマッチング処理では、HSM12は、鍵記憶部13に記憶されるエンドECU20の初期鍵Ki5を使用して、レスポンス値Ki5(Rn)を検証する。レスポンス値Ki5(Rn)の検証方法として、以下に示す検証方法の例1、2が挙げられる。
(検証方法の例1)
 HSM12は、鍵記憶部13に記憶される複数の初期鍵Ki1、・・・、Ki5、・・・の各々でチャレンジ値Rnを暗号化し、各暗号化結果がレスポンス値Ki5(Rn)に一致するかを判定する。判定の結果、レスポンス値Ki5(Rn)に一致する暗号化結果が一つだけある場合には、レスポンス値Ki5(Rn)の検証が成功である。一方、判定の結果、レスポンス値Ki5(Rn)に一致する暗号化結果がない場合、及び、レスポンス値Ki5(Rn)に一致する暗号化結果が複数ある場合には、レスポンス値Ki5(Rn)の検証が失敗である。
(検証方法の例2)
 HSM12は、鍵記憶部13に記憶される複数の初期鍵Ki1、・・・、Ki5、・・・の各々でレスポンス値Ki5(Rn)を復号化し、各復号化結果がチャレンジ値Rnに一致するかを判定する。判定の結果、チャレンジ値Rnに一致する復号化結果が一つだけある場合には、レスポンス値Ki5(Rn)の検証が成功である。一方、判定の結果、チャレンジ値Rnに一致する復号化結果がない場合、及び、チャレンジ値Rnに一致する復号化結果が複数ある場合には、レスポンス値Ki5(Rn)の検証が失敗である。
 レスポンス値Ki5(Rn)の検証が成功である場合には以降のステップへ進む。一方、レスポンス値Ki5(Rn)の検証が失敗である場合には、図3の処理を終了する。なお、レスポンス値Ki5(Rn)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS14;チャレンジ)エンドECU20のSHE22は、乱数Rn’を生成し、生成した乱数Rn’をチャレンジ値とする。エンドECU20は、チャレンジ値Rn’をマスタECU10へ送信する。
(ステップS15;レスポンス)マスタECU10は、エンドECU20から受信したチャレンジ値Rn’をHSM12へ供給する。HSM12は、このチャレンジ値Rn’を、上記ステップS13のレスポンス値Ki5(Rn)の検証で成功した際に使用されたエンドECU20の初期鍵Ki5で暗号化した暗号化データKi5(Rn’)を生成する。マスタECU10は、暗号化データKi5(Rn’)をレスポンス値として、エンドECU20へ送信する。エンドECU20は、受信したレスポンス値Ki5(Rn’)をSHE22へ供給する。
 SHE22は、このレスポンス値Ki5(Rn’)に対して、レスポンスマッチング処理を実行する。レスポンスマッチング処理では、SHE22は、鍵記憶部23に記憶される自エンドECU20の初期鍵Ki5を使用して、レスポンス値Ki5(Rn’)を検証する。レスポンス値Ki5(Rn’)の検証方法としては、上述した検証方法の例1、2と同様の方法が挙げられる。
 レスポンス値Ki5(Rn’)の検証が成功である場合には以降のステップへ進む。一方、レスポンス値Ki5(Rn’)の検証が失敗である場合には、図3の処理を終了する。なお、レスポンス値Ki5(Rn’)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS16)マスタECU10のHSM12は、上記ステップS13のレスポンス値Ki5(Rn)の検証で成功した際に使用されたエンドECU20の初期鍵Ki5を使用して、鍵記憶部13に記憶される鍵交換鍵Kx2を暗号化し、暗号化鍵交換鍵Ki5(Kx2)を生成する。マスタECU10は、暗号化鍵交換鍵Ki5(Kx2)をエンドECU20へ送信する。エンドECU20は、受信した暗号化鍵交換鍵Ki5(Kx2)をSHE22へ供給する。
(ステップS17)エンドECU20のSHE22は、暗号化鍵交換鍵Ki5(Kx2)を、鍵記憶部23に記憶される自エンドECU20の初期鍵Ki5で復号化する。この復号化結果として鍵交換鍵Kx2が得られる。
(ステップS18)エンドECU20のSHE22は、この復号化結果の鍵交換鍵Kx2を鍵記憶部23に記憶する。
 上述の管理方法の例1では、SIM52が、鍵の安全性の要求のレベルが比較的高いマスタ鍵を有し、このマスタ鍵を使用してエンドECU20の初期鍵を生成する。また、HSM12が、鍵の配布の高速性の要求のレベルが比較的高い鍵交換鍵の配布時の処理を実行する。
[管理方法の例2]
 図4を参照して、本実施形態に係る管理方法の例2を説明する。図4は、本実施形態に係る管理方法の例2を示すシーケンスチャートである。本実施形態に係る管理方法の例2は、自動車1に搭載されているエンドECU20に対する鍵交換鍵の更新に関する方法である。鍵交換鍵は第1の鍵の例である。
 マスタECU10のHSM12は、最新の鍵交換鍵Kx2を鍵記憶部13に記憶している。鍵交換鍵Kx2は、自動車1に既に搭載されているエンドECU20に対して過去に配布した最新の鍵交換鍵である。
 以下の管理方法の例2の説明では、鍵交換鍵の更新の対象である一つのエンドECU20について説明する。エンドECU20のSHE22は、鍵交換鍵Kx2を鍵記憶部23に記憶している。
(ステップS21)マスタECU10のHSM12は、新しい鍵交換鍵Kx3を生成する。
(ステップS22)マスタECU10のHSM12は、鍵記憶部13に記憶される鍵交換鍵Kx2を使用して鍵交換鍵Kx3を暗号化し、暗号化鍵交換鍵Kx2(Kx3)を生成する。マスタECU10は、暗号化鍵交換鍵Kx2(Kx3)をエンドECU20へ送信する。エンドECU20は、受信した暗号化鍵交換鍵Kx2(Kx3)をSHE22へ供給する。
(ステップS23)エンドECU20のSHE22は、暗号化鍵交換鍵Kx2(Kx3)を、鍵記憶部23に記憶される鍵交換鍵Kx2で復号化する。この復号化結果として鍵交換鍵Kx3が得られる。
(ステップS24)エンドECU20のSHE22は、この復号化結果の鍵交換鍵Kx3を最新の鍵交換鍵として鍵記憶部23に記憶する。これにより、エンドECU20のSHE22の鍵記憶部23に記憶される鍵交換鍵が、最新の鍵交換鍵Kx3に更新される。
 上述の管理方法の例2では、HSM12が、鍵の配布の高速性の要求のレベルが比較的高い鍵交換鍵の更新時の処理を実行する。
[管理方法の例3]
 図5を参照して、本実施形態に係る管理方法の例3を説明する。図5は、本実施形態に係る管理方法の例3を示すシーケンスチャートである。本実施形態に係る管理方法の例3は、自動車1に搭載されているエンドECU20に対するMAC鍵の更新に関する方法である。MAC鍵は第1の鍵の例である。
 マスタECU10のHSM12は、最新の鍵交換鍵Kx3を鍵記憶部13に記憶している。鍵交換鍵Kx3は、自動車1に既に搭載されているエンドECU20に対して過去に配布した最新の鍵交換鍵である。
 以下の管理方法の例3の説明では、MAC鍵の更新の対象である一つのエンドECU20について説明する。エンドECU20のSHE22は、鍵交換鍵Kx3を鍵記憶部23に記憶している。
(ステップS30)エンドECU20のSHE22は、MAC鍵k7を鍵記憶部23に記憶している。MAC鍵k7は、マスタECU10から過去に配布された最新のMAC鍵である。
(ステップS31)マスタECU10のHSM12は、新しいMAC鍵k8を生成する。
(ステップS32)マスタECU10のHSM12は、鍵記憶部13に記憶される鍵交換鍵Kx3を使用してMAC鍵k8を暗号化し、暗号化MAC鍵Kx3(k8)を生成する。マスタECU10は、暗号化MAC鍵Kx3(k8)をエンドECU20へ送信する。
エンドECU20は、受信した暗号化MAC鍵Kx3(k8)をSHE22へ供給する。
(ステップS33)エンドECU20のSHE22は、暗号化MAC鍵Kx3(k8)を、鍵記憶部23に記憶される鍵交換鍵Kx3で復号化する。この復号化結果としてMAC鍵k8が得られる。
(ステップS34)エンドECU20のSHE22は、この復号化結果のMAC鍵k8を最新のMAC鍵として鍵記憶部23に記憶する。これにより、エンドECU20のSHE22の鍵記憶部23に記憶されるMAC鍵が、最新のMAC鍵k8に更新される。
 上述の管理方法の例3では、HSM12が、鍵の配布の高速性の要求のレベルが比較的高いMAC鍵の更新時の処理を実行する。
[管理方法の例4]
 図6を参照して、本実施形態に係る管理方法の例4を説明する。図6は、本実施形態に係る管理方法の例4を示すシーケンスチャートである。本実施形態に係る管理方法の例4は、自動車1に搭載されているエンドECU20に対するコンピュータプログラムの更新に関する方法である。
 マスタECU10のHSM12の鍵記憶部13は、コード署名鍵と期待値登録鍵とセキュアブート署名鍵_車内とセキュアブート署名鍵_車外を記憶している。
 以下の管理方法の例4の説明では、コンピュータプログラムの更新の対象である一つのエンドECU20について説明する。エンドECU20のSHE22の鍵記憶部23は、セキュアブート署名鍵_車内を記憶している。
(ステップS41)管理サーバ装置100は、コード署名鍵を使用してECUコード200の電子署名210を生成する。ECUコード200は、エンドECU20のコンピュータプログラムのプログラムコードであってもよく、又は、データであってもよい。管理サーバ装置100は、電子署名210付きECUコード200を、通信回線を介して診断ツール110へ送信する。診断ツール110は、自動車整備工場等の作業者によって自動車1の診断ポート60に接続される。電子署名210付きECUコード200は、診断ツール110から診断ポート60を介してマスタECU10に送信される。マスタECU10は、受信した電子署名210付きECUコード200をHSM12へ供給する。
(ステップS42)マスタECU10のHSM12は、鍵記憶部13に記憶されるコード署名鍵を使用して、電子署名210を検証する。電子署名210の検証が成功である場合には以降の処理を実行する。一方、電子署名210の検証が失敗である場合には、図6の処理を終了する。なお、電子署名210の検証が失敗である場合には、所定のエラー処理を行ってもよい。
 HSM12は、電子署名210の検証が成功したECUコード200に対して、期待値登録鍵を使用して期待値を計算する。ECUコード200の期待値として、例えば、ECUコード200のCMAC(Cipher-based Message Authentication Code)を利用してもよい。マスタECU10は、電子署名210の検証が成功したECUコード200とこのECUコード200の期待値をエンドECU20へ送信する。
(ステップS43)エンドECU20は、マスタECU10から受信したECUコード200を自己に適用する。また、エンドECU20は、マスタECU10から受信したECUコード200の期待値をSHE22へ供給する。SHE22は、このECUコード200の期待値を保持する。
(ステップS44)エンドECU20はセキュアブートを実行する。このセキュアブートでは、ブートローダによってECUコード200がSHE22へ供給される。そして、SHE22が、自己で保持する期待値登録鍵を使用して、ECUコード200の期待値を計算する。そして、SHE22が、この計算結果の期待値と自己で保持するECUコード200の期待値を比較する。SHE22は、この比較の結果、両者が一致した場合にはブートローダへECUコード200の検証の成功を応答する。ブートローダは、SHE22からの応答が検証の成功である場合に、ECUコード200を起動する。一方、SHE22は、この比較の結果、両者が不一致の場合にはブートローダへECUコード200の検証の失敗を応答する。ブートローダは、SHE22からの応答が検証の失敗である場合に、ECUコード200を起動しない。
 SHE22は、ECUコード200の検証の成功を示す成功応答メッセージを出力する。SHE22は、この成功応答メッセージとして、ECUコード200の検証の成功を示す情報を、鍵記憶部23に記憶されるセキュアブート署名鍵_車内で暗号化したデータを出力する。ECUコード200の検証の成功を示す情報として、ECUコード200の期待値を使用してもよい。エンドECU20は、セキュアブートの結果、ECUコード200の検証が成功した場合に、成功応答メッセージをマスタECU10へ送信する。マスタECU10は、受信した成功応答メッセージをHSM12へ供給する。
(ステップS45)マスタECU10のHSM12は、鍵記憶部13に記憶されるセキュアブート署名鍵_車内を使用して成功応答メッセージを復号化し、成功応答メッセージの内容を検証する。成功応答メッセージに期待値が含まれる場合には、HSM12は、上記ステップS42でエンドECU20へ送信したECUコード200の期待値と、成功応答メッセージに含まれる期待値との一致を調べる。
 HSM12は、成功応答メッセージの内容の検証が成功した場合、鍵記憶部13に記憶されるセキュアブート署名鍵_車外を使用して、ECUコード200の更新の成功を示す結果220の電子署名230を生成する。結果220として、ECUコード200の期待値を使用してもよい。なお、成功応答メッセージの内容の検証が失敗した場合には、所定のエラー処理を行ってもよい。
(ステップS46)マスタECU10は、電子署名230付き結果220を、診断ポート60を介して、診断ツール110へ送信する。診断ツール110は、通信回線を介して、電子署名230付き結果220を管理サーバ装置100へ送信する。管理サーバ装置100は、受信した電子署名230付き結果220を記録する。
 上述の管理方法の例4では、HSM12が、主体となってECUコード200の更新時の処理を実行する。
[管理方法の例5]
 図7を参照して、本実施形態に係る管理方法の例5を説明する。図7は、本実施形態に係る管理方法の例5を示すシーケンスチャートである。本実施形態に係る管理方法の例5は、自動車1に搭載されているエンドECU20に対するコンピュータプログラムの更新に関する方法である。管理方法の例5では、上記の管理方法の例4に対して、さらに通信モジュール51のSIM52を使用する。図7において、上記の図6の各ステップに対応する部分には同一の符号を付け、その説明を省略する。以下、上記の管理方法の例4と異なる点を主に説明する。
 通信モジュール51のSIM52の鍵記憶部53は、VPN(Virtual Private Network)鍵とRoot証明書を記憶している。VPN鍵は車外通信鍵の例である。Root証明書は、コード署名鍵及びセキュアブート署名鍵_車外の正当性の検証に使用される鍵である。
(ステップS51)管理サーバ装置100は、コード署名鍵を使用してECUコード200の電子署名210を生成する。管理サーバ装置100は、電子署名210付きECUコード200を、VPNを介して通信モジュール51へ送信する。VPNは、無線通信回線を利用して構成される。通信モジュール51のSIM52は、鍵記憶部53に記憶されるVPN鍵を使用して、VPNを介して交換される通信データの暗号化及び復号化を実行する。これにより、電子署名210付きECUコード200は、管理サーバ装置100からVPNを介して、安全に、通信モジュール51で受信される。
(ステップS52)通信モジュール51のSIM52は、鍵記憶部53に記憶されるRoot証明書を使用して、マスタECU10のHSM12の鍵記憶部13に記憶されるコード署名鍵及びセキュアブート署名鍵_車外を検証する。コード署名鍵及びセキュアブート署名鍵_車外の両方の検証が成功である場合には以降の処理を実行する。一方、少なくともコード署名鍵の検証が失敗である場合には、図7の処理を終了する。又は、コード署名鍵又はセキュアブート署名鍵_車外のいずれかの検証が失敗である場合に、図7の処理を終了するようにしてもよい。なお、コード署名鍵又はセキュアブート署名鍵_車外のいずれかの検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS53)通信モジュール51は、電子署名210付きECUコード200をマスタECU10へ送信する。マスタECU10は、受信した電子署名210付きECUコード200をHSM12へ供給する。
 次いで、上記の図6を参照して説明した管理方法の例4と同様に、ステップS42~S45が実行される。
(ステップS54)マスタECU10は、電子署名230付き結果220を、通信モジュール51へ送信する。通信モジュール51は、受信した電子署名230付き結果220を、VPNを介して管理サーバ装置100へ送信する。電子署名230付き結果220は、通信モジュール51からVPNを介して、安全に、管理サーバ装置100で受信される。管理サーバ装置100は、受信した電子署名230付き結果220を記録する。
 上述の管理方法の例5では、SIM52が、鍵の安全性の要求のレベルが比較的高いRoot証明書を有し、このRoot証明書を使用してマスタECU10に保持されるコード署名鍵及びセキュアブート署名鍵_車外を検証する。また、SIM52が、鍵の安全性の要求のレベルが比較的高いVPN鍵を有し、このVPN鍵を使用して、VPNを介して交換される通信データの暗号化及び復号化を実行する。また、上記の管理方法の例4と同様に、HSM12が、主体となってECUコード200の更新時の処理を実行する。
 なお、Root証明書がVPN鍵の正当性の検証に使用される鍵であってもよく、SIM52がこのRoot証明書を使用してVPN鍵を検証してもよい。上述の管理方法の例5では、VPN鍵がSIM52の鍵記憶部53に記憶されているので、VPN鍵の安全性が高い。このため、上述の管理方法の例5では、VPN鍵の検証を実施していない。
 本実施形態に係る管理方法の例4と例5の差分は、管理サーバ装置100とマスタECU10間の通信経路のみである。したがって、診断ポート60経由の通信経路を利用するか、又は、通信モジュール51経由の通信経路を利用するかを適宜選択すればよく、本実施形態に係る管理方法の例4と例5を併用することができる。
[管理方法の例6]
 図8を参照して、本実施形態に係る管理方法の例6を説明する。図8は、本実施形態に係る管理方法の例6を示すシーケンスチャートである。本実施形態に係る管理方法の例6は、自動車1に搭載されているエンドECU20に対するコンピュータプログラムの更新に関する方法である。管理方法の例6では、上記の管理方法の例5と同様に通信モジュール51のSIM52を使用するが、上記の管理方法の例5においてマスタECU10のHSM12が実行した処理もSIM52が実行する。図8において、上記の図6及び図7の各ステップに対応する部分には同一の符号を付け、その説明を省略する。以下、主に、上記の管理方法の例5と異なる点を説明する。
 通信モジュール51のSIM52の鍵記憶部53は、VPN鍵とRoot証明書とコード署名鍵と期待値登録鍵とセキュアブート署名鍵_車内とセキュアブート署名鍵_車外を記憶している。
 上記の図7を参照して説明した管理方法の例5と同様に、ステップS51,S52が実行される。但し、本管理方法の例6のステップS52では、通信モジュール51のSIM52は、鍵記憶部53に記憶されるRoot証明書を使用して、この鍵記憶部53に記憶されるコード署名鍵及びセキュアブート署名鍵_車外を検証する。
(ステップS42a)ステップS42aは、上記の図6を参照して説明した管理方法の例4のステップS42に対応する。管理方法の例4のステップS42ではマスタECU10のHSM12が実行した処理を、本管理方法の例6のステップS42aでは通信モジュール51のSIM52が実行する。
 通信モジュール51のSIM52は、電子署名210付きECUコード200に対して、鍵記憶部53に記憶されるコード署名鍵を使用して電子署名210を検証する。電子署名210の検証が成功である場合には以降の処理を実行する。一方、電子署名210の検証が失敗である場合には、図8の処理を終了する。なお、電子署名210の検証が失敗である場合には、所定のエラー処理を行ってもよい。
 SIM52は、電子署名210の検証が成功したECUコード200に対して、期待値登録鍵を使用して期待値を計算する。ECUコード200の期待値として、例えば、ECUコード200のCMACを利用してもよい。通信モジュール51は、電子署名210の検証が成功したECUコード200とこのECUコード200の期待値を、マスタECU10を介してエンドECU20へ送信する。
 次いで、上記の図6を参照して説明した管理方法の例4と同様に、ステップS43,S44が実行される。但し、ECUコード200からマスタECU10へ送信された成功応答メッセージは、マスタECU10を介して、通信モジュール51へ送られる(ステップS44a)。
(ステップS45a)ステップS45aは、上記の図6を参照して説明した管理方法の例4のステップS45に対応する。管理方法の例4のステップS45ではマスタECU10のHSM12が実行した処理を、本管理方法の例6のステップS45aでは通信モジュール51のSIM52が実行する。
 通信モジュール51のSIM52は、鍵記憶部53に記憶されるセキュアブート署名鍵_車内を使用して成功応答メッセージを復号化し、成功応答メッセージの内容を検証する。成功応答メッセージに期待値が含まれる場合には、SIM52は、上記ステップS42aでエンドECU20へ送信したECUコード200の期待値と、成功応答メッセージに含まれる期待値との一致を調べる。
 SIM52は、成功応答メッセージの内容の検証が成功した場合、鍵記憶部53に記憶されるセキュアブート署名鍵_車外を使用して、ECUコード200の更新の成功を示す結果220の電子署名230を生成する。結果220として、ECUコード200の期待値を使用してもよい。なお、成功応答メッセージの内容の検証が失敗した場合には、所定のエラー処理を行ってもよい。
(ステップS54)通信モジュール51は、電子署名230付き結果220を、VPNを介して管理サーバ装置100へ送信する。電子署名230付き結果220は、通信モジュール51からVPNを介して、安全に、管理サーバ装置100で受信される。管理サーバ装置100は、受信した電子署名230付き結果220を記録する。
 上述の管理方法の例6では、SIM52が、鍵の安全性の要求のレベルが比較的高いRoot証明書を有し、このRoot証明書を使用してコード署名鍵及びセキュアブート署名鍵_車外を検証する。また、SIM52が、鍵の安全性の要求のレベルが比較的高いVPN鍵を有し、このVPN鍵を使用して、VPNを介して交換される通信データの暗号化及び復号化を実行する。また、SIM52が、主体となってECUコード200の更新時の処理を実行する。管理方法の例6は、例えば、即時性が要求されないECUコードの更新に適用することが挙げられる。
 なお、通信モジュール51は、マスタECU10を介して、診断ポート60に接続された診断ツール110とデータを交換することができる。これにより、上記の図6を参照して説明した管理方法の例4のステップS41,S46のように、通信モジュール51は、診断ポート60経由の通信経路を利用して、電子署名210付きECUコード200を受信したり、電子署名230付き結果220を送信したりすることができる。
 上述した実施形態によれば、鍵の安全性の要求のレベルと鍵の配布の高速性の要求のレベルに応じてSIM52、HSM12及びSIM52を使い分けすることができる。これにより、鍵の安全性と鍵の配布の高速性の両者のバランスを取ることができるようになる。
 例えば、マスタECU10のHSM12がMAC鍵の更新時の処理を実行することにより、マスタECU10が自動車1のエンジン始動時にMAC鍵を生成して各エンドECU20と共有することを迅速に実行することができる。一方、通信モジュール51のSIM52がマスタ鍵を有し、このマスタ鍵を使用してエンドECU20の初期鍵を生成することにより、マスタ鍵の安全性の要求に応えることができる。
 以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
 例えば、TPM(Trusted Platform Module)と呼ばれる暗号処理チップを第1の暗号処理装置又は第2の暗号処理装置に使用してもよい。TPMは耐タンパー性のある暗号処理チップである。TPMについては、例えば非特許文献3に記載されている。
 また、上述の実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
 また、上述した車載コンピュータシステム2の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
 さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
 また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
 また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1…自動車
2…車載コンピュータシステム
10…マスタECU
11,21…メイン演算器
12…HSM
13,23,53…鍵記憶部
20…エンドECU
22…SHE
40…インフォテイメント機器
50…DCM
51…通信モジュール
52…SIM
60…診断ポート
100…管理サーバ装置
110…診断ツール

Claims (14)

  1.  車両に備わる車載コンピュータシステムにおいて、
     第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、
     前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、
     前記第1の車載コンピュータは、前記第2の車載コンピュータで使用される第1の鍵を前記第1の暗号処理装置により暗号化し、前記第1の鍵の暗号化データを前記第2の車載コンピュータへ送信し、
     前記第2の車載コンピュータは、前記第1の車載コンピュータから受信した前記第1の鍵の暗号化データを前記第2の暗号処理装置により復号化する、
     車載コンピュータシステム。
  2.  前記第1の暗号処理装置及び前記第2の暗号処理装置よりも安全性の高いセキュアエレメントを備え、
     前記セキュアエレメントは、前記第2の車載コンピュータに保持される各前記第2の車載コンピュータで別個の第2の鍵を生成し、前記第2の鍵を前記第1の車載コンピュータへ供給し、
     前記第1の車載コンピュータは、前記セキュアエレメントから供給された第2の鍵のうち、前記第1の鍵の暗号化データの送信先の前記第2の車載コンピュータの第2の鍵を前記暗号化データの暗号化に使用し、
     前記第2の車載コンピュータは、前記第1の車載コンピュータから受信した前記第1の鍵の暗号化データの復号化に自己の第2の鍵を使用する、
     請求項1に記載の車載コンピュータシステム。
  3.  前記セキュアエレメントは、前記第2の車載コンピュータに保持される第2の鍵の生成に前記第2の車載コンピュータの識別子と共に使用されたマスタ鍵と同じマスタ鍵を有し、前記マスタ鍵と前記第2の車載コンピュータから供給された前記第2の車載コンピュータの識別子とを使用して前記第2の車載コンピュータの第2の鍵を生成する、
     請求項2に記載の車載コンピュータシステム。
  4.  車両に備わる車載コンピュータシステムにおいて、
     第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、
     前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、
     前記第1の車載コンピュータは、前記第2の車載コンピュータに適用されるコンピュータプログラムの電子署名を前記第1の暗号処理装置により検証し、前記コンピュータプログラムの期待値を前記第1の暗号処理装置により算出し、電子署名の検証が成功した前記コンピュータプログラムと前記コンピュータプログラムの期待値とを前記第2の車載コンピュータへ送信し、
     前記第2の車載コンピュータは、前記第1の車載コンピュータから受信した前記コンピュータプログラムと前記コンピュータプログラムの期待値とに対して、前記期待値を前記第2の暗号処理装置により検証し、前記期待値の検証が成功した前記コンピュータプログラムを起動する、
     車載コンピュータシステム。
  5.  前記第1の暗号処理装置及び前記第2の暗号処理装置よりも安全性の高いセキュアエレメントを備え、
     前記車両は、無線通信回線を介して、前記コンピュータプログラムと前記コンピュータプログラムの電子署名を受信し、
     前記セキュアエレメントは、前記無線通信回線を介して交換される通信データを検証する、
     請求項4に記載の車載コンピュータシステム。
  6.  前記セキュアエレメントは、前記第1の暗号処理装置が前記コンピュータプログラムの電子署名を検証する際に使用する鍵を検証する、
     請求項5に記載の車載コンピュータシステム。
  7.  前記車両は、無線通信回線を介して、前記第2の車載コンピュータに対する前記コンピュータプログラムの適用の結果と前記結果の電子署名とを送信し、
     前記セキュアエレメントは、前記第1の暗号処理装置が前記結果の電子署名を生成する際に使用する鍵を検証する、
     請求項5又は6のいずれか1項に記載の車載コンピュータシステム。
  8.  請求項1から7のいずれか1項に記載の車載コンピュータシステムを備える車両。
  9.  車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、
     前記第1の車載コンピュータが、前記第2の車載コンピュータで使用される第1の鍵を前記第1の暗号処理装置により暗号化し、前記第1の鍵の暗号化データを前記第2の車載コンピュータへ送信するステップと、
     前記第2の車載コンピュータが、前記第1の車載コンピュータから受信した前記第1の鍵の暗号化データを前記第2の暗号処理装置により復号化するステップと、
     を含む管理方法。
  10.  車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続され、
     前記第1の車載コンピュータが、前記第2の車載コンピュータに適用されるコンピュータプログラムの電子署名を前記第1の暗号処理装置により検証し、前記コンピュータプログラムの期待値を前記第1の暗号処理装置により算出し、電子署名の検証が成功した前記コンピュータプログラムと前記コンピュータプログラムの期待値とを前記第2の車載コンピュータへ送信するステップと、
     前記第2の車載コンピュータが、前記第1の車載コンピュータから受信した前記コンピュータプログラムと前記コンピュータプログラムの期待値とに対して、前記期待値を前記第2の暗号処理装置により検証し、前記期待値の検証が成功した前記コンピュータプログラムを起動するステップと、
     を含む管理方法。
  11.  車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第1の車載コンピュータに、
     前記第2の車載コンピュータで使用される第1の鍵を前記第1の暗号処理装置により暗号化し、前記第1の鍵の暗号化データを、前記第2の暗号処理装置により復号化する前記第2の車載コンピュータへ送信するステップ、
     を実行させるためのコンピュータプログラム。
  12.  車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第2の車載コンピュータに、
     前記第1の暗号処理装置により暗号化された前記第2の車載コンピュータで使用される第1の鍵の暗号化データを前記第1の車載コンピュータから受信し、前記第1の鍵の暗号化データを前記第2の暗号処理装置により復号化するステップ、
     を実行させるためのコンピュータプログラム。
  13.  車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第1の車載コンピュータに、
     前記第2の車載コンピュータに適用されるコンピュータプログラムの電子署名を前記第1の暗号処理装置により検証し、前記コンピュータプログラムの期待値を前記第1の暗号処理装置により算出し、電子署名の検証が成功した前記コンピュータプログラムと前記コンピュータプログラムの期待値とを、前記第2の暗号処理装置により検証する前記第2の車載コンピュータへ送信するステップ、
     を実行させるためのコンピュータプログラム。
  14.  車両に備わる車載コンピュータシステムが、第1の処理能力を有する第1の暗号処理装置を備える第1の車載コンピュータと、前記第1の処理能力よりも低い第2の処理能力を有する第2の暗号処理装置を備える複数の第2の車載コンピュータと、を備え、
     前記第1の車載コンピュータと前記複数の第2の車載コンピュータとが前記車両に備わる通信ネットワークに接続される前記車載コンピュータシステムの前記第2の車載コンピュータに、
     前記第2の車載コンピュータに適用されるコンピュータプログラムと前記第1の暗号処理装置により算出された前記コンピュータプログラムの期待値とを前記第1の車載コンピュータから受信し、前記コンピュータプログラムと前記コンピュータプログラムの期待値とに対して、前記期待値を前記第2の暗号処理装置により検証し、前記期待値の検証が成功した前記コンピュータプログラムを前記第2の車載コンピュータで起動するステップ、
     を実行させるためのコンピュータプログラム。
PCT/JP2016/070528 2015-08-24 2016-07-12 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム WO2017033602A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-164774 2015-08-24
JP2015164774A JP6238939B2 (ja) 2015-08-24 2015-08-24 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
WO2017033602A1 true WO2017033602A1 (ja) 2017-03-02

Family

ID=58101092

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/070528 WO2017033602A1 (ja) 2015-08-24 2016-07-12 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム

Country Status (2)

Country Link
JP (1) JP6238939B2 (ja)
WO (1) WO2017033602A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173603A1 (ja) * 2017-03-21 2018-09-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 更新処理方法、車載ネットワークシステムおよび電子制御ユニット
CN112448809A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 密钥配置系统及相关方法和产品
CN114124578A (zh) * 2022-01-25 2022-03-01 湖北芯擎科技有限公司 一种通信方法、装置、车辆及存储介质
WO2023070465A1 (zh) * 2021-10-28 2023-05-04 华为技术有限公司 一种密钥传输方法和装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6926671B2 (ja) * 2017-05-22 2021-08-25 株式会社デンソー 電子制御装置および電子制御装置における鍵登録方法
KR102025808B1 (ko) * 2017-11-24 2019-09-26 엘지전자 주식회사 차량용 제어 유닛의 업데이트 방법 및 차량
JP6988444B2 (ja) * 2017-12-20 2022-01-05 大日本印刷株式会社 初期設定方法、セキュアエレメント、デバイス及びプログラム
KR102084552B1 (ko) * 2018-01-18 2020-04-23 숭실대학교산학협력단 코드 기반 차량 데이터 검증 장치, 방법 및 시스템
EP3780481B1 (en) * 2018-04-30 2024-02-14 Huawei International Pte. Ltd. Method for upgrading vehicle-mounted device, and related device
JPWO2020209106A1 (ja) * 2019-04-12 2020-10-15

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524910A (ja) * 2002-05-07 2005-08-18 ソニー・エリクソン・モバイルコミュニケーションズ, エービー デバイスにアプリケーションをローディングする方法、デバイス、及びそのデバイス用のスマートカード
JP2005259028A (ja) * 2004-03-15 2005-09-22 Mitsubishi Electric Corp 利用者装置及び利用者装置用プログラム及び認証システム及びプログラム
JP2015103163A (ja) * 2013-11-27 2015-06-04 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250928A (ja) * 2004-03-05 2005-09-15 Osaka Gas Co Ltd 警報・購買情報管理システムおよびこれに含まれる警報器と管理システム
US8467527B2 (en) * 2008-12-03 2013-06-18 Intel Corporation Efficient key derivation for end-to-end network security with traffic visibility
EP2570309A1 (en) * 2011-09-16 2013-03-20 Gemalto SA Vehicle providing a secured access to security data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524910A (ja) * 2002-05-07 2005-08-18 ソニー・エリクソン・モバイルコミュニケーションズ, エービー デバイスにアプリケーションをローディングする方法、デバイス、及びそのデバイス用のスマートカード
JP2005259028A (ja) * 2004-03-15 2005-09-22 Mitsubishi Electric Corp 利用者装置及び利用者装置用プログラム及び認証システム及びプログラム
JP2015103163A (ja) * 2013-11-27 2015-06-04 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KEISUKE TAKEMORI ET AL.: "In-vehicle Network Security Using Secure Elements", IEICE TECHNICAL REPORT, vol. 114, no. 508, 2 March 2015 (2015-03-02), pages 73 - 78 *
KEISUKE TAKEMORI ET AL.: "Protection for Automotive Control System Using Secure Boot and Authentication", IEICE TECHNICAL REPORT, vol. 114, no. 225, 12 September 2014 (2014-09-12), pages 47 - 54 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173603A1 (ja) * 2017-03-21 2018-09-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 更新処理方法、車載ネットワークシステムおよび電子制御ユニット
CN112448809A (zh) * 2019-08-30 2021-03-05 华为技术有限公司 密钥配置系统及相关方法和产品
WO2023070465A1 (zh) * 2021-10-28 2023-05-04 华为技术有限公司 一种密钥传输方法和装置
CN114124578A (zh) * 2022-01-25 2022-03-01 湖北芯擎科技有限公司 一种通信方法、装置、车辆及存储介质

Also Published As

Publication number Publication date
JP2017046038A (ja) 2017-03-02
JP6238939B2 (ja) 2017-11-29

Similar Documents

Publication Publication Date Title
JP6238939B2 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
US10419220B2 (en) Management device, key generating device, vehicle, maintenance tool, management system, management method, and computer program
JP6197000B2 (ja) システム、車両及びソフトウェア配布処理方法
JP6683588B2 (ja) 再利用システム、サーバ装置、再利用方法、及びコンピュータプログラム
US11212087B2 (en) Management system, key generation device, in-vehicle computer, management method, and computer program
JP6262681B2 (ja) 管理装置、車両、管理方法、及びコンピュータプログラム
JP6188672B2 (ja) 鍵管理システム
JP6288219B1 (ja) 通信システム
WO2018043386A1 (ja) 車両情報収集システム、車載コンピュータ、車両情報収集装置、車両情報収集方法、及びコンピュータプログラム
WO2017115751A1 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
CN109314644B (zh) 数据提供系统、数据保护装置、数据提供方法以及存储介质
JP6260068B1 (ja) 保守装置、保守方法、及びコンピュータプログラム
JP6440334B2 (ja) システム、車両及びソフトウェア配布処理方法
JP6476462B2 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
JP2018082439A (ja) 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム
JP2018006782A (ja) データ提供システム、データ提供装置、車載コンピュータ、データ提供方法、及びコンピュータプログラム
JP6188744B2 (ja) 管理システム、車両及び管理方法
JP6464466B2 (ja) 保守装置、保守方法、及びコンピュータプログラム
JP2018093285A (ja) 配信システム、データ保安装置、配信方法、及びコンピュータプログラム
JP6519060B2 (ja) 管理装置、車両、管理方法、及びコンピュータプログラム
JP2018026874A (ja) データ提供システム及びデータ提供方法
JP2018050334A (ja) データ提供システム、データ提供装置、車載コンピュータ、データ提供方法、及びコンピュータプログラム
JP2018026866A (ja) 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム
JP2017208731A (ja) 管理システム、管理装置、車載コンピュータ、管理方法、及びコンピュータプログラム
WO2018131270A1 (ja) 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム

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: 16838949

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16838949

Country of ref document: EP

Kind code of ref document: A1