WO2018131270A1 - 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム - Google Patents

通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム Download PDF

Info

Publication number
WO2018131270A1
WO2018131270A1 PCT/JP2017/040055 JP2017040055W WO2018131270A1 WO 2018131270 A1 WO2018131270 A1 WO 2018131270A1 JP 2017040055 W JP2017040055 W JP 2017040055W WO 2018131270 A1 WO2018131270 A1 WO 2018131270A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
key
server
public key
arithmetic processing
Prior art date
Application number
PCT/JP2017/040055
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 WO2018131270A1 publication Critical patent/WO2018131270A1/ja

Links

Images

Classifications

    • 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 a communication system, a vehicle, a server device, a communication method, and a computer program.
  • Non-Patent Document 1 discloses a security technique for an in-vehicle control system configured by connecting a plurality of ECUs to a CAN (Controller Area Network).
  • Keisuke Takemori “Protection of in-vehicle control systems based on secure elements-Organizing and considering elemental technologies”, IEICE, IEICE Technical Report, vol.vol114, no. 508, pp. 73-78, 2015 March Japanese Industrial Standard, JIS D4901, “Vehicle Identification Number (VIN)” STMicroelectronics, “AN4240 Application note”, [Search on December 21, 2016], Internet ⁇ URL: http://www.st.com/web/en/resource/technical/document/application_note/DM00075575.pdf>
  • one problem is to improve safety when a car called a connected car (Connected Car) communicates with an external server device.
  • a connected car Connected Car
  • the present invention has been made in consideration of such circumstances, and can improve the safety when a vehicle such as an automobile communicates with an external server device, a communication system, a vehicle, a server device, It is an object to provide a communication method and a computer program.
  • One aspect of the present invention is a communication system that performs communication between a vehicle and a server device, and is mounted on the server device, a first arithmetic processing device mounted on the vehicle, and the vehicle.
  • a second arithmetic processing unit that is a secure element, and the second arithmetic processing unit stores a vehicle secret key that is a secret key of the vehicle and a server public key that is a public key of the server device.
  • a vehicle authentication processing unit that mutually performs a public key cryptography authentication process with the server device using the vehicle secret key and the server public key, and the vehicle secret key or the server public key.
  • a vehicle key transmission / reception unit that transmits or receives a common key to / from the server device by cryptographic communication using the server, and the first arithmetic processing unit uses the common key to communicate with the server device.
  • Car that performs cryptographic communication between And a server key storage unit that stores a vehicle public key that is a public key of the vehicle and a server secret key that is a secret key of the server device; and the vehicle public key and the server secret.
  • a server authentication processing unit that performs mutual public key cryptography authentication processing with the vehicle authentication processing unit of the vehicle using a key, and encryption communication using the vehicle public key or the server private key.
  • the server key transmission / reception unit that transmits or receives the common key to / from the vehicle key transmission / reception unit of the vehicle and the vehicle communication unit of the vehicle using the common key to perform cryptographic communication And a server communication unit.
  • One embodiment of the present invention is a vehicle that communicates with a server device, and includes a first arithmetic processing device and a second arithmetic processing device that is a secure element, and the second arithmetic processing device is the vehicle.
  • a vehicle key storage unit that stores a vehicle secret key that is a private key of the server and a server public key that is a public key of the server device.
  • One aspect of the present invention is a server device that communicates with a vehicle, and stores a vehicle public key that is a public key of the vehicle and a server private key that is a secret key of the server device.
  • Authentication that uses the vehicle public key and the server secret key to perform mutual public key cryptography authentication processing with the vehicle authentication processing unit of the second arithmetic processing unit that is a secure element of the vehicle
  • a server key transmission / reception unit that transmits or receives a common key between the processing unit and a vehicle key transmission / reception unit of the second arithmetic processing unit by encrypted communication using the vehicle public key or the server secret key;
  • a server communication unit that performs cryptographic communication with the vehicle communication unit of the vehicle using a key.
  • One aspect of the present invention is a communication method between a vehicle and a server device, wherein the vehicle includes a first arithmetic processing device and a second arithmetic processing device that is a secure element.
  • Two arithmetic processing units store a vehicle secret key that is a secret key of the vehicle and a server public key that is a public key of the server device, and the second arithmetic processing unit stores the vehicle secret key and the server public key.
  • the server device is mutually authenticated by the public key cryptosystem, and the second arithmetic processing device performs the encryption communication using the vehicle secret key or the server public key, and the server A communication method in which a common key is transmitted to or received from an apparatus, and the first processing unit performs encrypted communication with the server apparatus using the common key.
  • a second computer which is a secure element, provided in a vehicle that communicates with a server device, and a server public key, which is a secret key of the vehicle, and a public key of the server device are provided.
  • a key is stored, the vehicle secret key and the server public key are used to perform mutual public key cryptography authentication processing with the server device, and the vehicle secret key or the server public key is used.
  • a computer of a server device that communicates with a vehicle stores a vehicle public key that is a public key of the vehicle and a server secret key that is a secret key of the server device, and the vehicle Using the public key and the server secret key, a public key cryptosystem authentication process is performed mutually with the vehicle authentication processing unit of the second arithmetic processing unit, which is a secure element of the vehicle, and the vehicle public key or A cryptographic key using the server secret key is used to transmit or receive a common key with the vehicle key transmission / reception unit of the second arithmetic processing unit, and with the vehicle communication unit of the vehicle using the common key. It is a computer program for performing processing which performs encryption communication between.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system and an automobile 1001 according to an embodiment. It is a figure which shows the structural example of the server apparatus 2000 which concerns on one Embodiment. It is a block diagram which shows the hardware structural example of the infotainment apparatus 1040 which concerns on one Embodiment. It is a block diagram which shows the hardware structural example of TCU1050 which concerns on one Embodiment. It is a figure which shows the function structural example of the 1st arithmetic processing unit 500 which concerns on one Embodiment. It is a figure which shows the function structural example of the 2nd arithmetic processing unit 600 which concerns on one Embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system and an automobile 1001 according to the present embodiment.
  • an automobile 1001 includes a data security device 1010, a plurality of ECUs (electronic control units) 1020, an infotainment device 1040, and a TCU (Tele Communication Unit) 1050.
  • the ECU 1020 is an in-vehicle computer provided in the automobile 1001.
  • ECU 1020 has a control function such as engine control of automobile 1001. Examples of the ECU 1020 include an ECU having an engine control function, an ECU having a handle control function, and an ECU having a brake control function.
  • the data security device 1010 has a data security (security) function applied to the ECU 1020 mounted on the automobile 1001. Note that any ECU mounted on the automobile 1001 may function as the data security device 1010.
  • the data security device 1010 and the plurality of ECUs 1020 are connected to a CAN (Controller Area Network) 1030 provided in the automobile 1001.
  • CAN 1030 is a communication network.
  • CAN is known as one of communication networks mounted on vehicles.
  • the data security device 1010 exchanges data with each ECU 1020 via the CAN 1030.
  • ECU 1020 exchanges data with other ECUs 1020 via CAN 1030.
  • a communication network other than CAN is provided in the automobile 1001, and data exchange between the data security device 1010 and the ECU 1020 and communication between the ECUs 1020 are performed via the communication network other than CAN. Data exchanges between them may be performed.
  • the automobile 1001 may be provided with LIN (Local Interconnect Network).
  • the automobile 1001 may include CAN and LIN.
  • the automobile 1001 may be provided with an ECU 1020 connected to the LIN.
  • the data security device 1010 may be connected to CAN and LIN.
  • the data security device 1010 exchanges data with the ECU 1020 connected to the CAN via the CAN, and exchanges data with the ECU 1020 connected to the LIN via the LIN. Also good. Further, the ECUs 1020 may exchange data via the LIN.
  • the in-vehicle computer system 1002 provided in the automobile 1001 is configured by connecting a data security device 1010 and a plurality of ECUs 1020 to a CAN 1030.
  • the in-vehicle computer system 1002 functions as an in-vehicle control system for the automobile 1001.
  • the data security device 1010 monitors communication between the inside and outside of the in-vehicle computer system 1002.
  • the data security device 1010 is connected to an infotainment device 1040, a TCU 1050, and a diagnostic port 1060 as an example of a device external to the in-vehicle computer system 1002.
  • the ECU 1020 communicates with a device external to the in-vehicle computer system 1002 via the data security device 1010.
  • the CAN 1030 may include a plurality of buses (communication lines), and the plurality of buses may be connected to the data security device 1010.
  • the plurality of buses may be connected to the data security device 1010.
  • one ECU 1020 or a plurality of ECUs 1020 is connected to one bus.
  • the automobile 1001 has a diagnostic port 1060.
  • the diagnostic port 1060 for example, an OBD (On-board Diagnostics) port may be used.
  • a device outside the automobile 1001 can be connected to the diagnostic port 1060.
  • the data security device 1010 and a device connected to the diagnostic port 1060, for example, the maintenance tool 2100 exchange data via the diagnostic port 1060.
  • the maintenance tool 2100 may have a function of a conventional diagnostic terminal connected to the OBD port.
  • the automobile 1001 includes an infotainment device 1040.
  • infotainment device 1040 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 1040 is generally called, for example, an in-vehicle infotainment (IVI) system.
  • the automobile 1001 includes a TCU 1050.
  • the TCU 1050 is a communication device.
  • the TCU 1050 includes a communication module 1051.
  • the communication module 1051 performs wireless communication using a wireless communication network.
  • the communication module 1051 includes a SIM (Subscriber Identity Module) 1052.
  • the SIM 1052 is a SIM in which information for using the wireless communication network is written.
  • the communication module 1051 can use the SIM 1052 to connect to the wireless communication network and perform wireless communication.
  • an eSIM Embedded Subscriber Identity Module
  • SIM and eSIM are examples of secure elements (SE).
  • SIM and eSIM have tamper resistant properties.
  • Infotainment device 1040 and TCU 1050 exchange data.
  • the infotainment device 1040 and the TCU 1050 may be connected by a communication cable, and the infotainment device 1040 and the TCU 1050 may transmit and receive data via the communication cable.
  • a communication method between the infotainment device 1040 and the TCU 1050 for example, a universal serial bus (Universal Serial Bus: USB) may be used.
  • the infotainment device 1040 and the TCU 1050 may be connected by CAN.
  • the data security device 1010 exchanges data with the TCU 1050.
  • the data security device 1010 and the TCU 1050 may be connected by a communication cable, and the data security device 1010 and the TCU 1050 may transmit and receive data via the communication cable.
  • the data security device 1010 and the TCU 1050 may be connected by CAN.
  • USB may be used as a communication method between the data security device 1010 and the TCU 1050.
  • the data security device 1010 may exchange data with the TCU 1050 via the infotainment device 1040.
  • the TCU 1050 may be connected to the diagnostic port 1060, and the data security device 1010 may exchange data with the TCU 1050 connected to the diagnostic port 1060 via the diagnostic port 1060.
  • the data security device 1010 may include a communication module 1051 including a SIM 1052. When the data security device 1010 includes the communication module 1051 including the SIM 1052, the automobile 1001 may not include the TCU 1050.
  • the infotainment device 1040 may include a communication module 1051 including a SIM 1052.
  • the infotainment device 1040 includes the communication module 1051 including the SIM 1052
  • the automobile 1001 may not include the TCU 1050.
  • the infotainment device 1040 includes the communication module 1051 including the SIM 1052
  • the data security device 1010 may exchange data with the communication module 1051 provided in the infotainment device 1040.
  • the data security device 1010 includes a main computing unit 1011 and an HSM (Hardware Security Module) 1012.
  • the main arithmetic unit 1011 executes a computer program for realizing the functions of the data security device 1010.
  • the HSM 1012 has a cryptographic processing function and the like.
  • HSM1012 has tamper resistance.
  • HSM 1012 is an example of a secure element.
  • the HSM 1012 includes a storage unit 1013 that stores data.
  • the main arithmetic unit 1011 uses an HSM 1012.
  • the ECU 1020 includes a main computing unit 1021 and a SHE (Secure Hardware Extension) 1022.
  • the main computing unit 1021 executes a computer program for realizing the functions of the ECU 1020.
  • the SHE 1022 has a cryptographic processing function and the like.
  • SHE1022 has tamper resistance.
  • SHE1022 is an example of a secure element.
  • the SHE 1022 includes a storage unit 1023 that stores data.
  • the main computing unit 1021 uses SHE1022. In addition, about SHE, it describes in the nonpatent literature 3, for example.
  • the HSM is used for the data security device 1010.
  • the data security device 1010 may use SHE instead of the HSM.
  • the server device 2000 transmits and receives data to and from the communication module 1051 of the TCU 1050 of the automobile 1001 via the communication line.
  • Server device 2000 transmits and receives data to and from communication module 1051 via a wireless communication network used by communication module 1051 of TCU 1050 of automobile 1001.
  • the server device 2000 may transmit / receive data to / from the communication module 1051 via a communication network such as the Internet and the wireless communication network.
  • the server apparatus 2000 and the communication module 1051 may be connected by a dedicated line such as a VPN (Virtual Private Network) line, and data may be transmitted and received through the dedicated line.
  • a dedicated line such as a VPN line may be provided by a wireless communication network corresponding to the SIM 1052.
  • the server device 2000 communicates with the TCU 1050 of the automobile 1001 and transmits / receives data to / from the data security device 1010 and the infotainment device 1040 of the automobile 1001 via the TCU 1050.
  • the server device 2000 may communicate with the communication module 1051 of the data security device 1010.
  • the infotainment device 1040 includes the communication module 1051 including the SIM 1052
  • the server device 2000 may communicate with the communication module 1051 of the infotainment device 1040.
  • the server apparatus 2000 and the automobile 1001 may be connected by a communication cable.
  • the server device 2000 and the data security device 1010 of the automobile 1001 may be connected by a communication cable.
  • the server device 2000 and the automobile 1001 may be configured to communicate via a wired or wireless communication network.
  • the server apparatus 2000 and the automobile 1001 may be connected by a wired or wireless LAN (Local Area Network).
  • FIG. 2 is a diagram illustrating a configuration example of the server apparatus 2000 according to the present embodiment.
  • the server device 2000 includes a communication unit 11, a storage unit 12, a key generation unit 15, a key transmission / reception unit 16, and an authentication processing unit 18.
  • the communication unit 11 communicates with other devices via a communication line.
  • the storage unit 12 stores data.
  • the key generation unit 15 generates a key.
  • the key transmission / reception unit 16 transmits or receives a key to / from the automobile 1001.
  • the authentication processing unit 18 performs authentication processing with the automobile 1001.
  • the function of the server device 2000 is realized by a CPU (Central Processing Unit) provided in the server device 2000 executing a computer program.
  • the server device 2000 may be configured using a general-purpose computer device, or may be configured as a dedicated hardware device.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of the infotainment device 1040 according to the present embodiment.
  • the infotainment device 1040 includes a CPU 110, a storage unit 112, an interface unit 116, a touch panel 118, a microphone (microphone) 120, and a speaker 122. These units are configured to exchange data.
  • the CPU 110 controls the infotainment device 1040. This control function is realized by the CPU 110 executing a computer program.
  • the storage unit 112 stores a computer program executed by the CPU 110 and various data.
  • the storage unit 112 stores a computer program for realizing various functions of the infotainment device 1040.
  • Various functions of the infotainment device 1040 are realized by the CPU 110 executing the computer program.
  • the interface unit 116 transmits / receives data to / from an external device of the own infotainment device 1040.
  • the interface unit 116 includes an interface that transmits / receives data to / from the TCU 1050, and an interface that transmits / receives data to / from the data security device 1010.
  • the touch panel 118 includes a display screen such as a liquid crystal panel, and performs data display on the display screen and data input corresponding to a touch operation on the display screen by the user.
  • the microphone 120 inputs voice.
  • the speaker 122 reproduces sound.
  • FIG. 4 is a block diagram illustrating a hardware configuration example of the TCU 1050 according to the present embodiment.
  • the TCU 1050 includes a CPU 210, a storage unit 212, an interface unit 216, and a communication module 1051. These units are configured to exchange data.
  • the communication module 1051 includes a SIM 1052.
  • the CPU 210 controls the TCU 1050. This control function is realized by the CPU 210 executing a computer program.
  • the storage unit 212 stores a computer program executed by the CPU 210 and various data.
  • the storage unit 212 stores a computer program for realizing various functions of the TCU 1050.
  • Various functions of the TCU 1050 are realized by the CPU 210 executing the computer program.
  • the interface unit 216 transmits / receives data to / from an external device of the own TCU 1050.
  • the interface unit 216 includes an interface that transmits / receives data to / from the infotainment device 1040, and an interface that transmits / receives data to / from the data security device 1010.
  • the communication module 1051 and the SIM 1052 are as described above.
  • FIG. 5 is a diagram illustrating a functional configuration example of the first arithmetic processing device 500 according to the present embodiment.
  • the first arithmetic processing device 500 includes a communication unit 501 and a storage unit 502.
  • the communication unit 501 communicates with a device outside the first arithmetic processing device 500.
  • the storage unit 502 stores data.
  • the infotainment device 1040 of the automobile 1001 may have the function of the first arithmetic processing unit 500.
  • the TCU 1050 of the automobile 1001 may have the function of the first arithmetic processing device 500.
  • the data security device 1010 of the automobile 1001 may have the function of the first arithmetic processing device 500.
  • FIG. 6 is a diagram illustrating a functional configuration example of the second arithmetic processing device 600 according to the present embodiment.
  • the second arithmetic processing device 600 includes a key generation unit 601, a storage unit 602, a key transmission / reception unit 603, and an authentication processing unit 604.
  • the key generation unit 601 generates a key.
  • the storage unit 602 stores data.
  • the key transmission / reception unit 603 transmits or receives a key to or from the server device 2000.
  • the authentication processing unit 604 performs authentication processing with the server device 2000.
  • the second arithmetic processing unit 600 is a secure element.
  • the second processing unit 600 may be a semiconductor product having tamper resistance.
  • the second arithmetic processing unit 600 may be configured using a SIM, eSIM, HSM, SHE, or IC (Integrated Circuit) chip.
  • the SIM 1052 of the communication module 1051 of the TCU 1050 of the automobile 1001 may have the function of the second arithmetic processing device 600.
  • the SIM 1052 is a secure element.
  • the SIM 1052 has tamper resistance.
  • the HSM 1012 of the data security device 1010 of the automobile 1001 may have the function of the second arithmetic processing device 600.
  • the HSM 1012 is a secure element.
  • HSM1012 has tamper resistance.
  • the infotainment device 1040 of the automobile 1001 may include an IC chip that is a secure element and has tamper resistance, and the IC chip may have the function of the second arithmetic processing device 600.
  • the infotainment device 1040 has the function of the first arithmetic processing device 500 as an example of the first arithmetic processing device 500.
  • the SIM 1052 of the communication module 1051 of the TCU 1050 has the function of the second arithmetic processing unit 600.
  • the CPU 110 of the infotainment device 1040 executes a computer program for realizing the function of the first arithmetic processing device 500
  • the function of the first arithmetic processing device 500 is realized.
  • the SIM 1052 of the communication module 1051 of the TCU 1050 executes a computer program for realizing the function of the second arithmetic processing device 600
  • the function of the second arithmetic processing device 600 is realized.
  • the interface unit 116 of the infotainment device 1040 and the interface unit 216 of the TCU 1050 transmit and receive data. It is realized by.
  • the first arithmetic processing device 500 (infotainment device 1040) communicates with the server device 2000 via the TCU 1050 as an example according to the present embodiment.
  • the data security device 1010 has the function of the first arithmetic processing device 500 as an example of the first arithmetic processing device 500, and the second arithmetic processing device 600
  • the SIM 1052 of the communication module 1051 of the TCU 1050 has the function of the second arithmetic processing unit 600.
  • the main arithmetic unit 1011 of the data security device 1010 executes the computer program for realizing the function of the first arithmetic processing device 500, whereby the function of the first arithmetic processing device 500 is realized.
  • the SIM 1052 of the communication module 1051 of the TCU 1050 executes a computer program for realizing the function of the second arithmetic processing device 600
  • the function of the second arithmetic processing device 600 is realized.
  • Communication between the first processing unit 500 (data security device 1010) and the second processing unit 600 (SIM 1052) is performed by the interface unit (not shown) of the data security device 1010 and the interface unit 216 of the TCU 1050. It is realized by sending and receiving.
  • the interface unit of the data security device 1010 transmits / receives data to / from an external device of the data security device 1010.
  • the interface unit of the data security device 1010 transmits / receives data via an interface that transmits / receives data via the CAN 1030, an interface that transmits / receives data to / from the infotainment device 1040, an interface that transmits / receives data to / from the TCU 1050, and a diagnostic port 1060. Interface.
  • the main computing unit 1011 transmits / receives data to / from devices other than the data security device 1010 via the interface unit.
  • the first arithmetic processing device 500 (data security device 1010) communicates with the server device 2000 via the TCU 1050 as an example according to the present embodiment.
  • the data security device 1010 has the function of the first arithmetic processing device 500 as an example of the first arithmetic processing device 500, and the second arithmetic processing device 600
  • the HSM 1012 of the data security device 1010 has the function of the second arithmetic processing device 600.
  • the main arithmetic unit 1011 of the data security device 1010 executes the computer program for realizing the function of the first arithmetic processing device 500, whereby the function of the first arithmetic processing device 500 is realized.
  • the HSM 1012 of the data security device 1010 executes a computer program for realizing the function of the second arithmetic processing unit 600, the function of the second arithmetic processing unit 600 is realized.
  • the first arithmetic processing unit 500 (data security device 1010) and the second arithmetic processing unit 600 (HSM 1012) is realized by the main arithmetic unit 1011 and the HSM 1012 transmitting and receiving data.
  • the first arithmetic processing device 500 (data security device 1010) communicates with the server device 2000 via the TCU 1050 as an example according to the present embodiment.
  • FIG. 7 is a block diagram illustrating another hardware configuration example of the infotainment device 1040 according to the present embodiment.
  • the communication module 1051 includes a SIM 1052.
  • the communication module 1051 can use the SIM 1052 to connect to a wireless communication network corresponding to the SIM 1052 and perform wireless communication.
  • An eSIM may be used as the SIM 1052.
  • SIM and eSIM are examples of secure elements. SIM and eSIM have tamper resistance.
  • the infotainment device 1040 shown in FIG. 7 may communicate with the server device 2000 using its own communication module 1051.
  • the infotainment device 1040 shown in FIG. 7 is applied.
  • the infotainment device 1040 has the function of the first arithmetic processing device 500
  • the SIM 1052 of the communication module 1051 of the infotainment device 1040 is the second arithmetic processing device. It has 600 functions.
  • the CPU 110 of the infotainment device 1040 executes a computer program for realizing the function of the first arithmetic processing device 500
  • the function of the first arithmetic processing device 500 is realized.
  • the SIM 1052 of the communication module 1051 of the infotainment device 1040 executes a computer program for realizing the function of the second arithmetic processing device 600
  • the function of the second arithmetic processing device 600 is realized.
  • Communication between the first arithmetic processing device 500 (infotainment device 1040) and the second arithmetic processing device 600 (SIM 1052 of the communication module 1051 of the infotainment device 1040) is performed between the CPU 110 of the infotainment device 1040 and the infotainment device 1040. This is realized by transmitting / receiving data to / from the communication module 1051.
  • the 1st arithmetic processing apparatus 500 (infotainment apparatus 1040) communicates with the server apparatus 2000 via the communication module 1051 of the infotainment apparatus 1040 as an example which concerns on this embodiment.
  • the 1st arithmetic processing apparatus 500 may communicate with the server apparatus 2000 via TCU1050 as an example which concerns on this embodiment. Further, when the infotainment device 1040 includes the communication module 1051 including the SIM 1052, the automobile 1001 may not include the TCU 1050.
  • the TCU 1050 has the function of the first arithmetic processing device 500 as an example of the first arithmetic processing device 500, and the TCU 1050 as an example of the second arithmetic processing device 600.
  • the SIM 1052 of the communication module 1051 has the function of the second arithmetic processing unit 600.
  • Communication between the first arithmetic processing unit 500 (TCU 1050) and the second arithmetic processing unit 600 (SIM 1052) is realized by the CPU 210 and the communication module 1051 sending and receiving data.
  • the first arithmetic processing unit 500 (TCU 1050) communicates with the server apparatus 2000 using the communication module 1051 as an example according to the present embodiment.
  • an encrypted communication path may be used as a communication path between the server device 2000 and the first arithmetic processing device 500.
  • the server device 2000 and the first arithmetic processing device 500 may perform https (hypertext transfer protocol secure) communication as an example of an encrypted communication path.
  • the server device 2000 and the first arithmetic processing device 500 may communicate using a dedicated line such as a VPN line.
  • Example 1 of the communication method according to the present embodiment will be described with reference to FIG.
  • FIG. 8 is a sequence chart showing Example 1 of the communication method according to the present embodiment.
  • the server apparatus 2000 stores the root public key certificate Kp_r, the server public key certificate Kp_s, and the server private key Ks_s in the storage unit 12 in advance.
  • the second processing unit 600 stores the root public key certificate Kp_r, the server public key certificate Kp_s, the vehicle public key certificate Kp_c, and the vehicle secret key Ks_c in the storage unit 602 in advance.
  • the root public key certificate Kp_r stored in the storage unit 12 by the server apparatus 2000 is the same as the root public key certificate Kp_r stored in the storage unit 602 by the second processing unit 600.
  • the server public key certificate Kp_s stored in the storage unit 12 by the server apparatus 2000 and the server public key certificate Kp_s stored in the storage unit 602 by the second arithmetic processing apparatus 600 are the same.
  • the root public key certificate Kp_r is a public key certificate issued by a certification authority (Certificate Authority) of a third party (Trusted Third Party: TTP) in a public key encryption infrastructure (Public Key Infrastructure: PKI). Or a public key certificate issued by a private certificate authority.
  • a certificate authority provided by a manufacturer of the automobile 1001 may be used.
  • the server public key and server secret key Ks_s of the server public key certificate Kp_s are generated as a pair public key and secret key.
  • the server public key certificate Kp_s is generated using the root private key paired with the root public key certificate Kp_r.
  • the server public key certificate Kp_s is generated as a public key certificate of the server device 2000.
  • the vehicle public key and vehicle secret key Ks_c of the vehicle public key certificate Kp_c are generated as a pair public key and secret key.
  • the vehicle public key certificate Kp_c is generated using the root private key paired with the root public key certificate Kp_r.
  • the vehicle public key certificate Kp_c is generated as a public key certificate of the automobile 1001.
  • the SIM 1052 as an example of the second arithmetic processing device 600 includes, for example, a root public key certificate Kp_r, a server public key certificate Kp_s, a vehicle public key certificate Kp_c, and a vehicle secret key Ks_c at the manufacturing factory of the SIM 1052. Are stored in the SIM 1052.
  • the root public key certificate Kp_r, the server public key certificate Kp_s, the vehicle public key certificate Kp_c, and the vehicle secret key Ks_c are stored in the SIM 1052 in the automobile 1001, the communication module 1051 or the TCU 1050 manufacturing factory. May be.
  • Example 1 of the communication method includes a production or maintenance stage (production maintenance phase) of the automobile 1001 and a general running stage (market running phase) of the automobile 1001.
  • the production maintenance phase of communication method example 1 will be described.
  • the production maintenance phase is carried out at the time of production of the automobile 1001 at an automobile manufacturing company, or at the time of maintenance of the automobile 1001 at an automobile maintenance factory, an automobile dealer, or the like.
  • the first arithmetic processing unit 500 acquires the vehicle identification number (VehicleIdentificationehNumber: VIN) of the automobile 1001.
  • the vehicle identification number (VIN) is described in Non-Patent Document 2, for example.
  • the vehicle identification number VIN of the automobile 1001 may be stored in the first arithmetic processing unit 500 in advance, or the vehicle identification number VIN may be notified from the outside to the first arithmetic processing unit 500 at a predetermined opportunity.
  • the ECU 1020 having the engine control function of the automobile 1001 stores the vehicle identification number VIN of the automobile 1001
  • the ECU 1020 sends the vehicle identification number VIN of the automobile 1001 to the first arithmetic processing unit 500 after the ECU 1020 is activated. May be notified.
  • the vehicle identification number VIN of the automobile 1001 for example, a vehicle identification number VIN managed by an automobile manufacturer or automobile dealer of the automobile 1001 may be supplied to the first arithmetic processing unit 500.
  • the automobile manufacturing company of the automobile 1001 may be provided with a vehicle identification number VIN database, and the vehicle identification number VIN may be notified to the first arithmetic processing unit 500 of the automobile 1001 by communication from the database.
  • Step S2 The first arithmetic processing unit 500 transmits a request message for the vehicle public key certificate Kp_c to the second arithmetic processing unit 600.
  • Step S3 In response to the request message for the vehicle public key certificate Kp_c received from the first arithmetic processing device 500, the second arithmetic processing device 600 uses the first public key certificate Kp_c stored in the storage unit 602. It transmits to the arithmetic processing unit 500.
  • Step S4 The first arithmetic processing device 500 transmits the vehicle identification number VIN of the automobile 1001 and the vehicle public key certificate Kp_c received from the second arithmetic processing device 600 to the server device 2000.
  • Step S5 The server device 2000 uses the Root public key certificate Kp_r stored in the storage unit 12 for the validity of the vehicle public key certificate Kp_c received from the first arithmetic processing unit 500 of the automobile 1001. Perform verification.
  • the server device 2000 associates the vehicle public key certificate Kp_c with the vehicle identification number VIN of the automobile 1001 and stores the association in the storage unit 12.
  • the server device 2000 discards the vehicle public key certificate Kp_c when the result of verification of the validity of the vehicle public key certificate Kp_c is unacceptable. Further, the server device 2000 may execute predetermined error processing.
  • the server device 2000 may store the vehicle identification number VIN of the automobile 1001 and the vehicle public key certificate Kp_c in advance in the storage unit 12 in association with each other. In this case, the procedure from step S1 to step S5 of the production maintenance phase described above may not be executed.
  • the market driving phase The market running phase of communication method example 1 will be described.
  • the market travel phase is performed at the general travel stage of the automobile 1001, for example, when the engine of the automobile 1001 is started or when communication between the automobile 1001 and the server device 2000 is started.
  • the first arithmetic processing unit 500 transmits the vehicle identification number VIN of the automobile 1001 and the challenge (random number c) to the server apparatus 2000.
  • the first arithmetic processing unit 500 generates a random number c and uses the random number c for a challenge.
  • the first arithmetic processing unit 500 holds a challenge (random number c).
  • Step S12 The authentication processing unit 18 of the server device 2000 encrypts the challenge (random number c) received from the first arithmetic processing device 500 with the server secret key Ks_s stored in the storage unit 12.
  • the encrypted data of this challenge (random number c) is a response Ks_s (random number c).
  • Step S13 The authentication processing unit 18 of the server device 2000 generates a random number s and uses the random number s for a challenge.
  • the authentication processing unit 18 transmits a response Ks_s (random number c) and a challenge (random number s) to the first arithmetic processing unit 500.
  • the authentication processing unit 18 holds a challenge (random number s).
  • Step S14 The first arithmetic processing unit 500 sends the challenge (random number c) transmitted to the server device 2000, the response Ks_s (random number c) and the challenge (random number s) received from the server device 2000 to the second arithmetic processing unit. 600.
  • Step S15 The authentication processing unit 604 of the second arithmetic processing device 600 verifies the response Ks_s (random number c) received from the first arithmetic processing device 500.
  • the authentication processing unit 604 uses the challenge (random number c) received from the first arithmetic processing unit 500 and the server public key certificate Kp_s stored in the storage unit 602 to generate a response Ks_s (random number). Verify the correctness of c).
  • the authentication processing unit 604 decrypts the response Ks_s (random number c) with the server public key of the server public key certificate Kp_s, and compares the decryption result with the challenge (random number c). As a result of the comparison, if the two match, the verification of the response Ks_s (random number c) is acceptable, and if the two do not match, the verification of the response Ks_s (random number c) fails.
  • the second arithmetic processing unit 600 proceeds to step S16.
  • the second arithmetic processing device 600 ends the process of FIG.
  • the second arithmetic processing unit 600 may execute a predetermined error process.
  • Step S16 The authentication processing unit 604 of the second arithmetic processing device 600 encrypts the challenge (random number s) received from the first arithmetic processing device 500 with the vehicle secret key Ks_c stored in the storage unit 602.
  • the encrypted data of this challenge (random number s) is a response Ks_c (random number s).
  • Step S ⁇ b> 17 The authentication processing unit 604 of the second arithmetic processing device 600 transmits a response Ks_c (random number s) to the first arithmetic processing device 500.
  • Step S ⁇ b> 18 The first arithmetic processing device 500 transmits the response Ks_c (random number s) received from the second arithmetic processing device 600 to the server device 2000.
  • Step S19 The authentication processing unit 18 of the server device 2000 verifies the response Ks_c (random number s) received from the first arithmetic processing device 500 of the automobile 1001. In this response verification, the authentication processing unit 18 associates the challenge (random number s) transmitted to the first arithmetic processing unit 500 with the vehicle identification number VIN of the automobile 1001 and stores the vehicle public key certificate Kp_c stored in the storage unit 12. Are used to verify the validity of the response Ks_c (random number s).
  • the authentication processing unit 604 decrypts the response Ks_c (random number s) with the vehicle public key of the vehicle public key certificate Kp_c, and compares this decryption result with the challenge (random number s). As a result of this comparison, if the two match, the response Ks_c (random number s) is verified, and if the two do not match, the response Ks_c (random number s) is not verified.
  • step S20 If the verification of the response Ks_c (random number s) is successful, the server apparatus 2000 proceeds to step S20. On the other hand, when the verification of the response Ks_c (random number s) fails, the server apparatus 2000 ends the process of FIG. When the verification of the response Ks_c (random number s) fails, the server apparatus 2000 may execute a predetermined error process.
  • Step S20 The key generation unit 15 of the server device 2000 generates a session key K_com.
  • the key generation unit 15 may generate a random number and generate a session key K_com based on the generated random number.
  • the storage unit 12 stores the session key K_com in association with the vehicle identification number VIN of the automobile 1001. Session key K_com corresponds to a common key.
  • Step S21 The key transmission / reception unit 16 of the server device 2000 encrypts the session key K_com with the vehicle public key of the vehicle public key certificate Kp_c stored in the storage unit 12 in association with the vehicle identification number VIN of the automobile 1001. Session key EKp_c (K_com) is generated. The key transmission / reception unit 16 transmits the encrypted session key EKp_c (K_com) to the first arithmetic processing unit 500 of the automobile 1001.
  • Step S22 The first arithmetic processing unit 500 transmits the encrypted session key EKp_c (K_com) received from the server device 2000 to the second arithmetic processing unit 600.
  • Step S23 The key transmission / reception unit 603 of the second arithmetic processing device 600 decrypts the encrypted session key EKp_c (K_com) received from the first arithmetic processing device 500 with the vehicle secret key Ks_c stored in the storage unit 602. . As a result of this decryption, a session key K_com is acquired. As a result, the server apparatus 2000 and the automobile 1001 hold the same session key K_com.
  • Step S ⁇ b> 24 The key transmission / reception unit 603 of the second arithmetic processing device 600 transmits the session key K_com to the first arithmetic processing device 500.
  • the storage unit 502 of the first arithmetic processing device 500 stores the session key K_com received from the second arithmetic processing device 600.
  • Step S25 The communication unit 11 of the server device 2000 and the communication unit 501 of the first arithmetic processing device 500 of the automobile 1001 perform cryptographic communication using the session key K_com.
  • encrypted data K_com data obtained by encrypting data using the session key K_com is transmitted to the communication unit 11 of the server device 2000 and the communication unit 501 of the first arithmetic processing device 500 of the automobile 1001. Sent and received between.
  • an encryption communication path using the session key K_com is constructed between the communication unit 11 of the server device 2000 and the communication unit 501 of the first arithmetic processing device 500 of the automobile 1001.
  • the server device 2000 and the second arithmetic processing device 600 of the automobile 1001 include the public key and private key pair of the server device 2000 and the public key and private key pair of the automobile 1001. Are used to perform mutual public key cryptography authentication processing, and a session key K_com (common key) is transmitted and received by encrypted communication using a pair of the public key and private key of the automobile 1001. This improves the security of the session key K_com (common key) used for encrypted communication between the server device 2000 and the first arithmetic processing device 500 of the automobile 1001. This has the effect of improving safety when the automobile 1001 communicates with the external server device 2000.
  • a session key K_com common key
  • the private key of the automobile 1001 (vehicle secret key Ks_c) is stored in the second arithmetic processing unit 600 that is a secure element in the automobile 1001. Thereby, the effect of preventing leakage of the secret key of the automobile 1001 is obtained.
  • the session key K_com (common key) used for encryption communication between the server device 2000 and the automobile 1001 is stored in the first arithmetic processing unit 500 in the automobile 1001.
  • the first arithmetic processing unit 500 which is not limited to the secure element, can improve the communication speed of encryption communication between the server apparatus 2000 and the automobile 1001 by using a CPU having a relatively high processing capability.
  • Example 2 of the communication method according to the present embodiment will be described with reference to FIG.
  • FIG. 9 is a sequence chart showing Example 2 of the communication method according to the present embodiment. 9, parts corresponding to the respective steps in FIG. 8 are denoted by the same reference numerals.
  • the server device 2000 stores the root public key certificate Kp_r, the server public key certificate Kp_s, and the server private key Ks_s in the storage unit 12 in the same manner as in the communication method example 1 in FIG. .
  • the second arithmetic processing unit 600 obtains the root public key certificate Kp_r, the server public key certificate Kp_s, the vehicle public key certificate Kp_c, and the vehicle secret key Ks_c, as in the communication method example 1 of FIG. Stored in the storage unit 602 in advance.
  • the communication method example 2 includes a production maintenance phase and a market running phase as in the communication method example 1.
  • the production maintenance phase of communication method example 2 is the same as the production maintenance phase of communication method example 1.
  • steps S1 to S5 are performed as in communication method example 1.
  • the storage unit 12 of the server device 2000 stores the vehicle public key certificate Kp_c that has passed the verification result of the validity and the vehicle identification number VIN of the automobile 1001 in association with each other.
  • the server device 2000 may store the vehicle identification number VIN of the automobile 1001 and the vehicle public key certificate Kp_c in advance in the storage unit 12 in association with each other. In this case, the procedure from step S1 to step S5 in the production maintenance phase need not be executed.
  • Step S31 The key generation unit 601 of the second arithmetic processing device 600 generates a session key K_com.
  • the key generation unit 601 may generate a random number and generate a session key K_com based on the generated random number.
  • the storage unit 602 stores a session key K_com. Session key K_com corresponds to a common key.
  • Step S32 The key transmission / reception unit 603 of the second processing unit 600 encrypts the session key K_com with the server public key of the server public key certificate Kp_s stored in the storage unit 602, and encrypts the session key EKp_s (K_com). Is generated.
  • the key transmission / reception unit 603 transmits the encrypted session key EKp_s (K_com) to the first arithmetic processing device 500.
  • Step S ⁇ b> 33 The first arithmetic processing device 500 transmits the encrypted session key EKp_s (K_com) received from the second arithmetic processing device 600 to the server device 2000.
  • Step S34 The key transmission / reception unit 16 of the server device 2000 decrypts the encrypted session key EKp_s (K_com) received from the first arithmetic processing device 500 with the server secret key Ks_s stored in the storage unit 12. As a result of this decryption, a session key K_com is acquired.
  • the storage unit 12 stores the session key K_com in association with the vehicle identification number VIN of the automobile 1001. As a result, the server apparatus 2000 and the automobile 1001 hold the same session key K_com.
  • Step S35 The key transmission / reception unit 603 of the second arithmetic processing device 600 transmits the session key K_com to the first arithmetic processing device 500.
  • the storage unit 502 of the first arithmetic processing device 500 stores the session key K_com received from the second arithmetic processing device 600.
  • Step S36 The communication unit 11 of the server device 2000 and the communication unit 501 of the first arithmetic processing unit 500 of the automobile 1001 perform cryptographic communication using the session key K_com.
  • encrypted data K_com data obtained by encrypting data using the session key K_com is transmitted to the communication unit 11 of the server device 2000 and the communication unit 501 of the first arithmetic processing device 500 of the automobile 1001. Sent and received between.
  • an encryption communication path using the session key K_com is constructed between the communication unit 11 of the server device 2000 and the communication unit 501 of the first arithmetic processing device 500 of the automobile 1001.
  • the server device 2000 and the second arithmetic processing device 600 of the automobile 1001 include the public key and private key pair of the server device 2000 and the public key and private key pair of the automobile 1001. Are used for mutual authentication of public key cryptosystem, and a session key K_com (common key) is transmitted / received by encrypted communication using a public key / private key pair of the server apparatus 2000. This improves the security of the session key K_com (common key) used for encrypted communication between the server device 2000 and the first arithmetic processing device 500 of the automobile 1001. This has the effect of improving safety when the automobile 1001 communicates with the external server device 2000.
  • the private key of the automobile 1001 (vehicle secret key Ks_c) is stored in the second arithmetic processing unit 600 that is a secure element in the automobile 1001. Thereby, the effect of preventing leakage of the secret key of the automobile 1001 is obtained.
  • the session key K_com (common key) used for encryption communication between the server device 2000 and the automobile 1001 is stored in the first arithmetic processing unit 500 in the automobile 1001.
  • the first arithmetic processing unit 500 which is not limited to the secure element, can improve the communication speed of encryption communication between the server apparatus 2000 and the automobile 1001 by using a CPU having a relatively high processing capability.
  • the server apparatus 2000 includes the root public key certificate Kp_r. However, if the validity of the vehicle public key certificate Kp_c is not verified, the server apparatus 2000 uses the root public key certificate. Kp_r may not be provided.
  • the second arithmetic processing unit 600 of the automobile 1001 may perform verification of the validity of the server public key certificate Kp_s using the Root public key certificate Kp_r. On the other hand, when the validity of the server public key certificate Kp_s is not verified, the automobile 1001 does not have to include the root public key certificate Kp_r.
  • the first arithmetic processing unit 500 includes a debug port such as JTAG (Joint Test Action Group)
  • a debug port such as JTAG (Joint Test Action Group)
  • an authentication function based on an ID (identifier) may be provided for the debug port.
  • an ID authentication function may be provided for the debug port of the infotainment device 1040 or the data security device 1010.
  • HSM and SHE are used for the data security device 1010 and the ECU 1020.
  • cryptographic processing chips other than the HSM and SHE may be used.
  • a cryptographic processing chip called “TPM (Trusted Platform Module) f” may be used for the data security device 1010.
  • TPMf has tamper resistance.
  • TPMf is an example of a secure element.
  • a cryptographic processing chip called “TPMt” may be used.
  • TPMt has tamper resistance.
  • TPMt is an example of a secure element.
  • the above-described embodiment may be applied to the automobile 1001 in, for example, an automobile manufacturing factory, a maintenance factory, a sales shop, or the like.
  • an automobile is taken as an example of a vehicle, but the present invention can also be applied to other vehicles such as a motorbike and a railway vehicle.
  • a computer program for realizing the functions of each device described above may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a 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 Disc), 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

車両に搭載されるセキュアエレメントである第2演算処理装置は、車両秘密鍵とサーバ公開鍵とを格納する車両鍵記憶部と、前記車両秘密鍵と前記サーバ公開鍵とを使用し前記サーバ装置間で認証処理を行う車両認証処理部と、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信によりサーバ装置間で共通鍵を送信又は受信する車両鍵送受部とを備え、前記車両に搭載される第1演算処理装置は前記共通鍵を使用し前記サーバ装置間で暗号通信を行う車両通信部を備え、前記サーバ装置は、車両公開鍵とサーバ秘密鍵とを格納するサーバ鍵記憶部と、前記車両公開鍵と前記サーバ秘密鍵とを使用し前記車両認証処理部間で認証処理を行うサーバ認証処理部と、前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により前記車両鍵送受部間で前記共通鍵を送信又は受信するサーバ鍵送受部と、前記共通鍵を使用し前記車両通信部間で暗号通信を行うサーバ通信部とを備える。

Description

通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム
 本発明は、通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラムに関する。
 本願は、2017年1月13日に、日本に出願された特願2017-004191号に基づき優先権を主張し、その内容をここに援用する。
 従来、自動車は、ECU(Electronic Control Unit:電子制御装置)を有し、ECUによってエンジン制御等の機能を実現する。ECUは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。複数のECUをCAN(Controller Area Network)に接続して構成される車載制御システムについてのセキュリティ技術が例えば非特許文献1に記載されている。
竹森敬祐、"セキュアエレメントを基点とした車載制御システムの保護 -要素技術の整理と考察-"、電子情報通信学会、信学技報、vol. 114、no. 508、pp. 73-78、2015年3月 日本工業規格、JISD4901、"車両識別番号(VIN)" STMicroelectronics、"AN4240 Application note"、[平成28年12月21日検索]、インターネット<URL:http://www.st.com/web/en/resource/technical/document/application_note/DM00075575.pdf>
 例えばコネクテッドカー(Connected Car)と称される自動車が外部のサーバ装置と通信を行う際の安全性を向上させることが一つの課題であった。
 本発明は、このような事情を考慮してなされたものであり、自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させることができる、通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラムを提供することを課題とする。
(1)本発明の一態様は、車両とサーバ装置との間の通信を行う通信システムであり、前記サーバ装置と、前記車両に搭載される第1演算処理装置と、前記車両に搭載されるセキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する車両鍵記憶部と、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う車両認証処理部と、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する車両鍵送受部と、を備え、前記第1演算処理装置は、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備え、前記サーバ装置は、前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納するサーバ鍵記憶部と、前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両の前記車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行うサーバ認証処理部と、前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記車両の前記車両鍵送受部との間で前記共通鍵を送信又は受信するサーバ鍵送受部と、前記共通鍵を使用して、前記車両の前記車両通信部との間で暗号通信を行うサーバ通信部と、を備える、通信システムである。
(2)本発明の一態様は、サーバ装置と通信を行う車両であり、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する車両鍵記憶部と、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う車両認証処理部と、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する車両鍵送受部と、を備え、前記第1演算処理装置は、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備える、車両である。
(3)本発明の一態様は、車両と通信を行うサーバ装置であり、前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納するサーバ鍵記憶部と、前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行うサーバ認証処理部と、前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記第2演算処理装置の車両鍵送受部との間で共通鍵を送信又は受信するサーバ鍵送受部と、前記共通鍵を使用して、前記車両の車両通信部との間で暗号通信を行うサーバ通信部と、を備えるサーバ装置である。
(4)本発明の一態様は、車両とサーバ装置との間の通信方法であって、前記車両は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置が、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納し、前記第2演算処理装置が、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行い、前記第2演算処理装置が、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信し、前記第1演算処理装置が、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う、通信方法である。
(5)本発明の一態様は、サーバ装置と通信を行う車両に備わる、セキュアエレメントである第2コンピュータに、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納し、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行い、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する、処理を実行させ、前記車両に備わる第1コンピュータに、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う処理を実行させるためのコンピュータプログラムである。
(6)本発明の一態様は、車両と通信を行うサーバ装置のコンピュータに、前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納し、前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行い、前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記第2演算処理装置の車両鍵送受部との間で共通鍵を送信又は受信し、前記共通鍵を使用して、前記車両の車両通信部との間で暗号通信を行う、処理を実行させるためのコンピュータプログラムである。
 本発明によれば、自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させることができるという効果が得られる。
一実施形態に係る通信システム及び自動車1001の構成例を示す図である。 一実施形態に係るサーバ装置2000の構成例を示す図である。 一実施形態に係るインフォテイメント機器1040のハードウェア構成例を示すブロック図である。 一実施形態に係るTCU1050のハードウェア構成例を示すブロック図である。 一実施形態に係る第1演算処理装置500の機能構成例を示す図である。 一実施形態に係る第2演算処理装置600の機能構成例を示す図である。 一実施形態に係るインフォテイメント機器1040の他のハードウェア構成例を示すブロック図である。 一実施形態に係る通信方法の例1を示すシーケンスチャートである。 一実施形態に係る通信方法の例2を示すシーケンスチャートである。
 以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
 図1は、本実施形態に係る通信システム及び自動車1001の構成例を示す図である。図1において、自動車1001は、データ保安装置1010と複数のECU(電子制御装置)1020とインフォテイメント(Infotainment)機器1040とTCU(Tele Communication Unit)1050とを備える。ECU1020は、自動車1001に備わる車載コンピュータである。ECU1020は、自動車1001のエンジン制御等の制御機能を有する。ECU1020として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。データ保安装置1010は、自動車1001に搭載されたECU1020に適用されるデータのセキュリティ(保安)の機能を有する。なお、自動車1001に搭載されたいずれかのECUをデータ保安装置1010として機能させてもよい。
 データ保安装置1010と複数のECU1020は、自動車1001に備わるCAN(Controller Area Network)1030に接続される。CAN1030は通信ネットワークである。CANは車両に搭載される通信ネットワークの一つとして知られている。データ保安装置1010は、CAN1030を介して、各ECU1020との間でデータを交換する。ECU1020は、CAN1030を介して、他のECU1020との間でデータを交換する。
 なお、車両に搭載される通信ネットワークとして、CAN以外の通信ネットワークを自動車1001に備え、CAN以外の通信ネットワークを介して、データ保安装置1010とECU1020との間のデータの交換、及び、ECU1020同士の間のデータの交換が行われてもよい。例えば、LIN(Local Interconnect Network)が自動車1001に備えられてもよい。また、CANとLINとが自動車1001に備えられてもよい。また、自動車1001において、LINに接続するECU1020が備えられてもよい。また、データ保安装置1010は、CANとLINとに接続されてもよい。また、データ保安装置1010は、CANを介して該CANに接続されるECU1020との間でデータを交換し、また、LINを介して該LINに接続されるECU1020との間でデータが交換されてもよい。また、ECU1020同士が、LINを介してデータを交換してもよい。
 自動車1001に備わる車載コンピュータシステム1002は、データ保安装置1010と複数のECU1020とがCAN1030に接続されて構成される。本実施形態において、車載コンピュータシステム1002は、自動車1001の車載制御システムとして機能する。
 データ保安装置1010は、車載コンピュータシステム1002の内部と外部の間の通信を監視する。データ保安装置1010は、車載コンピュータシステム1002の外部の装置の例として、インフォテイメント機器1040、TCU1050及び診断ポート1060と接続される。ECU1020は、データ保安装置1010を介して、車載コンピュータシステム1002の外部の装置と通信を行う。
 なお、CAN1030の構成として、CAN1030が複数のバス(通信線)を備え、該複数のバスがデータ保安装置1010に接続されてもよい。この場合、一つのバスに、一つのECU1020又は複数のECU1020が接続される。
 自動車1001は診断ポート1060を備える。診断ポート1060として、例えばOBD(On-board Diagnostics)ポートが使用されてもよい。診断ポート1060には、自動車1001の外部の装置を接続可能である。診断ポート1060に接続可能な自動車1001の外部の装置として、例えば、図1に示されるメンテナンスツール2100などがある。データ保安装置1010と、診断ポート1060に接続された装置、例えばメンテナンスツール2100とは、診断ポート1060を介して、データを交換する。メンテナンスツール2100は、OBDポートに接続される従来の診断端末の機能を有していてもよい。
 自動車1001はインフォテイメント機器1040を備える。インフォテイメント機器1040として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。インフォテイメント機器1040は、例えば、一般に、車載インフォテイメント(In-Vehicle Infotainment:IVI)システムと称される。
 自動車1001はTCU1050を備える。TCU1050は通信装置である。TCU1050は通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。
 なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)が使用されてもよい。SIM及びeSIMはセキュアエレメント(Secure Element:SE)の例である。SIM及びeSIMは耐タンパー性(Tamper Resistant)を有する。
 インフォテイメント機器1040とTCU1050とはデータを交換する。例えば、インフォテイメント機器1040とTCU1050とを通信ケーブルで接続し、インフォテイメント機器1040とTCU1050とは該通信ケーブルを介してデータを送受してもよい。インフォテイメント機器1040とTCU1050との間の通信方式として、例えば、ユニバーサル・シリアル・バス(Universal Serial Bus:USB)が使用されてもよい。又は、インフォテイメント機器1040とTCU1050とがCANで接続されてもよい。
 データ保安装置1010はTCU1050とデータを交換する。例えば、データ保安装置1010とTCU1050とを通信ケーブルで接続し、データ保安装置1010とTCU1050とは該通信ケーブルを介してデータを送受してもよい。例えば、データ保安装置1010とTCU1050とがCANで接続されてもよい。又は、データ保安装置1010とTCU1050との間の通信方式として、例えば、USBが使用されてもよい。
 なお、データ保安装置1010が、インフォテイメント機器1040を介して、TCU1050とデータを交換してもよい。又は、TCU1050を診断ポート1060に接続し、データ保安装置1010が、診断ポート1060を介して、該診断ポート1060に接続されたTCU1050とデータを交換してもよい。又は、データ保安装置1010が、SIM1052を含む通信モジュール1051を備えてもよい。データ保安装置1010がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
 又は、インフォテイメント機器1040が、SIM1052を含む通信モジュール1051を備えてもよい。インフォテイメント機器1040がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。インフォテイメント機器1040がSIM1052を含む通信モジュール1051を備える場合には、データ保安装置1010は、インフォテイメント機器1040に備わる通信モジュール1051とデータを交換してもよい。
 データ保安装置1010は、メイン演算器1011とHSM(Hardware Security Module)1012を備える。メイン演算器1011は、データ保安装置1010の機能を実現させるためのコンピュータプログラムを実行する。HSM1012は暗号処理機能等を有する。HSM1012は耐タンパー性を有する。HSM1012はセキュアエレメントの例である。HSM1012は、データを記憶する記憶部1013を備える。メイン演算器1011はHSM1012を使用する。
 ECU1020は、メイン演算器1021とSHE(Secure Hardware Extension)1022を備える。メイン演算器1021は、ECU1020の機能を実現させるためのコンピュータプログラムを実行する。SHE1022は暗号処理機能等を有する。SHE1022は耐タンパー性を有する。SHE1022はセキュアエレメントの例である。SHE1022は、データを記憶する記憶部1023を備える。メイン演算器1021はSHE1022を使用する。なお、SHEについては、例えば非特許文献3に記載されている。
 なお、本実施形態では、データ保安装置1010にHSMを使用しているが、データ保安装置1010においてHSMの代わりにSHEが使用されてもよい。
 サーバ装置2000は、通信回線を介して、自動車1001のTCU1050の通信モジュール1051とデータを送受する。サーバ装置2000は、自動車1001のTCU1050の通信モジュール1051が利用する無線通信ネットワークを介して、該通信モジュール1051とデータを送受する。又は、サーバ装置2000は、インターネット等の通信ネットワークと該無線通信ネットワークとを介して、該通信モジュール1051とデータを送受してもよい。また、例えば、サーバ装置2000と通信モジュール1051との間がVPN(Virtual Private Network)回線等の専用回線で接続され、該専用回線でデータが送受されてもよい。例えば、SIM1052に対応する無線通信ネットワークによって、VPN回線等の専用回線が提供されてもよい。
 サーバ装置2000は、自動車1001のTCU1050と通信を行い、TCU1050を介して、自動車1001のデータ保安装置1010及びインフォテイメント機器1040との間でデータを送受する。
 なお、データ保安装置1010がSIM1052を含む通信モジュール1051を備える場合には、サーバ装置2000は、該データ保安装置1010の通信モジュール1051と通信を行ってもよい。また、インフォテイメント機器1040がSIM1052を含む通信モジュール1051を備える場合には、サーバ装置2000は、該インフォテイメント機器1040の通信モジュール1051と通信を行ってもよい。
 また、サーバ装置2000と自動車1001とが通信ケーブルで接続されてもよい。例えば、サーバ装置2000と自動車1001のデータ保安装置1010とが通信ケーブルで接続するように構成されてもよい。又は、サーバ装置2000と自動車1001とが、有線又は無線の通信ネットワークを介して通信を行うように構成されてもよい。例えば、サーバ装置2000と自動車1001とが、有線又は無線のLAN(Local Area Network)で接続されてもよい。
 図2は、本実施形態に係るサーバ装置2000の構成例を示す図である。図2において、サーバ装置2000は、通信部11と、記憶部12と、鍵生成部15と、鍵送受部16と、認証処理部18とを備える。通信部11は、通信回線を介して、他の装置と通信を行う。記憶部12は、データを記憶する。鍵生成部15は、鍵を生成する。鍵送受部16は、自動車1001との間で鍵の送信又は受信を行う。認証処理部18は、自動車1001との間で認証処理を行う。
 サーバ装置2000の機能は、該サーバ装置2000が備えるCPU(Central Processing Unit:中央演算処理装置)がコンピュータプログラムを実行することにより実現される。なお、サーバ装置2000として、汎用のコンピュータ装置を使用して構成されてもよく、又は、専用のハードウェア装置として構成されてもよい。
 図3は、本実施形態に係るインフォテイメント機器1040のハードウェア構成例を示すブロック図である。図3において、インフォテイメント機器1040は、CPU110と、記憶部112と、インタフェース部116と、タッチパネル118と、マイクロフォン(マイク)120と、スピーカ122とを備える。これら各部はデータを交換できるように構成されている。
 CPU110はインフォテイメント機器1040の制御を行う。この制御機能は、CPU110がコンピュータプログラムを実行することにより実現される。記憶部112は、CPU110で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部112は、インフォテイメント機器1040の各種の機能を実現させるためのコンピュータプログラムを記憶する。CPU110が該コンピュータプログラムを実行することにより、インフォテイメント機器1040の各種の機能が実現される。
 インタフェース部116は、自インフォテイメント機器1040の外部の装置とデータを送受する。インタフェース部116は、TCU1050とデータを送受するインタフェースと、データ保安装置1010とデータを送受するインタフェースとを備える。タッチパネル118は、液晶パネル等の表示画面を備え、表示画面へのデータ表示と、利用者による表示画面へのタッチ操作に応じたデータ入力とを行う。マイク120は音声の入力を行う。スピーカ122は音声の再生を行う。
 図4は、本実施形態に係るTCU1050のハードウェア構成例を示すブロック図である。図4において、TCU1050は、CPU210と、記憶部212と、インタフェース部216と、通信モジュール1051とを備える。これら各部はデータを交換できるように構成されている。通信モジュール1051は、SIM1052を備える。
 CPU210はTCU1050の制御を行う。この制御機能は、CPU210がコンピュータプログラムを実行することにより実現される。記憶部212は、CPU210で実行されるコンピュータプログラムや各種のデータを記憶する。記憶部212は、TCU1050の各種の機能を実現させるためのコンピュータプログラムを記憶する。CPU210が該コンピュータプログラムを実行することにより、TCU1050の各種の機能が実現される。
 インタフェース部216は、自TCU1050の外部の装置とデータを送受する。インタフェース部216は、インフォテイメント機器1040とデータを送受するインタフェースと、データ保安装置1010とデータを送受するインタフェースとを備える。通信モジュール1051及びSIM1052は上述した通りである。
 図5は、本実施形態に係る第1演算処理装置500の機能構成例を示す図である。図5において、第1演算処理装置500は、通信部501と、記憶部502とを備える。通信部501は、第1演算処理装置500の外部の装置との間で通信を行う。記憶部502は、データを記憶する。
 本実施形態では、自動車1001のインフォテイメント機器1040が第1演算処理装置500の機能を備えてもよい。又は、自動車1001のTCU1050が第1演算処理装置500の機能を備えてもよい。又は、自動車1001のデータ保安装置1010が第1演算処理装置500の機能を備えてもよい。
 図6は、本実施形態に係る第2演算処理装置600の機能構成例を示す図である。図6において、第2演算処理装置600は、鍵生成部601と、記憶部602と、鍵送受部603と、認証処理部604とを備える。鍵生成部601は、鍵を生成する。記憶部602は、データを記憶する。鍵送受部603は、サーバ装置2000との間で鍵の送信又は受信を行う。認証処理部604は、サーバ装置2000との間で認証処理を行う。
 第2演算処理装置600はセキュアエレメントである。第2演算処理装置600は、耐タンパー性を有する半導体製品であってもよい。例えば、SIM、eSIM、HSM、SHE又はIC(Integrated Circuit)チップを使用して第2演算処理装置600が構成されてもよい。
 本実施形態では、自動車1001のTCU1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備えてもよい。SIM1052はセキュアエレメントである。SIM1052は耐タンパー性を有する。又は、自動車1001のデータ保安装置1010のHSM1012が第2演算処理装置600の機能を備えてもよい。HSM1012はセキュアエレメントである。HSM1012は耐タンパー性を有する。又は、自動車1001のインフォテイメント機器1040にセキュアエレメントであり耐タンパー性を有するICチップを備え、該ICチップが第2演算処理装置600の機能を備えてもよい。
[第1演算処理装置と第2演算処理装置との構成例]
 本実施形態に係る第1演算処理装置と第2演算処理装置との構成例を説明する。
(第1演算処理装置と第2演算処理装置との構成例1)
 第1演算処理装置と第2演算処理装置との構成例1では、第1演算処理装置500の一例としてインフォテイメント機器1040が第1演算処理装置500の機能を備え、第2演算処理装置600の一例としてTCU1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備える。インフォテイメント機器1040のCPU110が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。TCU1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
 第1演算処理装置500(インフォテイメント機器1040)と第2演算処理装置600(SIM1052)との間の通信は、インフォテイメント機器1040のインタフェース部116とTCU1050のインタフェース部216とがデータを送受することにより実現される。第1演算処理装置500(インフォテイメント機器1040)は、本実施形態に係る一例としてTCU1050を介して、サーバ装置2000と通信を行う。
(第1演算処理装置と第2演算処理装置との構成例2)
 第1演算処理装置と第2演算処理装置との構成例2では、第1演算処理装置500の一例としてデータ保安装置1010が第1演算処理装置500の機能を備え、第2演算処理装置600の一例としてTCU1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備える。データ保安装置1010のメイン演算器1011が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。TCU1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
 第1演算処理装置500(データ保安装置1010)と第2演算処理装置600(SIM1052)との間の通信は、データ保安装置1010のインタフェース部(図示せず)とTCU1050のインタフェース部216とがデータを送受することにより実現される。データ保安装置1010のインタフェース部は、自データ保安装置1010の外部の装置とデータを送受する。データ保安装置1010のインタフェース部は、CAN1030を介してデータを送受するインタフェースと、インフォテイメント機器1040とデータを送受するインタフェースと、TCU1050とデータを送受するインタフェースと、診断ポート1060を介してデータを送受するインタフェースとを備える。メイン演算器1011は、該インタフェース部を介して、データ保安装置1010以外の他の装置とデータの送受を行う。第1演算処理装置500(データ保安装置1010)は、本実施形態に係る一例としてTCU1050を介して、サーバ装置2000と通信を行う。
(第1演算処理装置と第2演算処理装置との構成例3)
 第1演算処理装置と第2演算処理装置との構成例3では、第1演算処理装置500の一例としてデータ保安装置1010が第1演算処理装置500の機能を備え、第2演算処理装置600の一例としてデータ保安装置1010のHSM1012が第2演算処理装置600の機能を備える。データ保安装置1010のメイン演算器1011が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。データ保安装置1010のHSM1012が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
 第1演算処理装置500(データ保安装置1010)と第2演算処理装置600(HSM1012)との間の通信は、メイン演算器1011とHSM1012とがデータを送受することにより実現される。第1演算処理装置500(データ保安装置1010)は、本実施形態に係る一例としてTCU1050を介して、サーバ装置2000と通信を行う。
(第1演算処理装置と第2演算処理装置との構成例4)
 図7は、本実施形態に係るインフォテイメント機器1040の他のハードウェア構成例を示すブロック図である。図7において、図3の各部に対応する部分には同一の符号を付している。図7に示すインフォテイメント機器1040は、図3の構成においてさらに通信モジュール1051を備える。通信モジュール1051は、SIM1052を備える。
 通信モジュール1051は、SIM1052を使用することにより該SIM1052に対応する無線通信ネットワークに接続して無線通信を行うことができる。なお、SIM1052として、eSIMが使用されてもよい。SIM及びeSIMはセキュアエレメントの例である。SIM及びeSIMは耐タンパー性を有する。
 図7に示すインフォテイメント機器1040は、自己の通信モジュール1051を使用して、自動車1001の外部の装置と通信を行う。例えば、図7に示すインフォテイメント機器1040は、自己の通信モジュール1051を使用して、サーバ装置2000と通信を行ってもよい。
 第1演算処理装置と第2演算処理装置との構成例4では、図7に示すインフォテイメント機器1040を適用する。第1演算処理装置500の一例としてインフォテイメント機器1040が第1演算処理装置500の機能を備え、第2演算処理装置600の一例としてインフォテイメント機器1040の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備える。インフォテイメント機器1040のCPU110が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。インフォテイメント機器1040の通信モジュール1051のSIM1052が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
 第1演算処理装置500(インフォテイメント機器1040)と第2演算処理装置600(インフォテイメント機器1040の通信モジュール1051のSIM1052)との間の通信は、インフォテイメント機器1040のCPU110とインフォテイメント機器1040の通信モジュール1051とがデータを送受することにより実現される。第1演算処理装置500(インフォテイメント機器1040)は、本実施形態に係る一例としてインフォテイメント機器1040の通信モジュール1051を介して、サーバ装置2000と通信を行う。なお、第1演算処理装置500(インフォテイメント機器1040)は、本実施形態に係る一例としてTCU1050を介して、サーバ装置2000と通信を行ってもよい。また、インフォテイメント機器1040がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
(第1演算処理装置と第2演算処理装置との構成例5)
 第1演算処理装置と第2演算処理装置との構成例5では、第1演算処理装置500の一例としてTCU1050が第1演算処理装置500の機能を備え、第2演算処理装置600の一例としてTCU1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を備える。TCU1050のCPU210が第1演算処理装置500の機能を実現させるためのコンピュータプログラムを実行することにより、第1演算処理装置500の機能が実現される。TCU1050の通信モジュール1051のSIM1052が第2演算処理装置600の機能を実現させるためのコンピュータプログラムを実行することにより、第2演算処理装置600の機能が実現される。
 第1演算処理装置500(TCU1050)と第2演算処理装置600(SIM1052)との間の通信は、CPU210と通信モジュール1051とがデータを送受することにより実現される。第1演算処理装置500(TCU1050)は、本実施形態に係る一例として通信モジュール1051により、サーバ装置2000と通信を行う。
[通信方法の例]
 次に本実施形態に係る通信方法の例を説明する。以下の通信方法の例の説明では、公開鍵暗号方式の認証処理の一例として、チャレンジ・レスポンス認証方法を使用する。また、サーバ装置2000と第1演算処理装置500との間の通信路として、暗号化通信路が使用されてもよい。例えば、サーバ装置2000と第1演算処理装置500は、暗号化通信路の一例として、https(hypertext transfer protocol secure)通信を行ってもよい。また、サーバ装置2000と第1演算処理装置500は、VPN回線等の専用回線を使用して通信を行ってもよい。
<通信方法の例1>
 図8を参照して本実施形態に係る通信方法の例1を説明する。図8は、本実施形態に係る通信方法の例1を示すシーケンスチャートである。
 図8において、サーバ装置2000は、Root公開鍵証明書Kp_rと、サーバ公開鍵証明書Kp_sと、サーバ秘密鍵Ks_sとを予め記憶部12に格納する。第2演算処理装置600は、Root公開鍵証明書Kp_rと、サーバ公開鍵証明書Kp_sと、車両公開鍵証明書Kp_cと、車両秘密鍵Ks_cとを予め記憶部602に格納する。サーバ装置2000が記憶部12に格納するRoot公開鍵証明書Kp_rと、第2演算処理装置600が記憶部602に格納するRoot公開鍵証明書Kp_rとは、同じである。サーバ装置2000が記憶部12に格納するサーバ公開鍵証明書Kp_sと、第2演算処理装置600が記憶部602に格納するサーバ公開鍵証明書Kp_sとは、同じである。
 Root公開鍵証明書Kp_rは、公開鍵暗号基盤(Public Key Infrastructure:PKI)における第三者機関(Trusted Third Party:TTP)の認証局(Certificate Authority:CA)が発行した公開鍵証明書であってもよく、又は、プライベート認証局が発行した公開鍵証明書であってもよい。プライベート認証局として、例えば、自動車1001の製造会社が備える認証局であってもよい。
 サーバ公開鍵証明書Kp_sのサーバ公開鍵とサーバ秘密鍵Ks_sとは、ペアの公開鍵と秘密鍵として生成される。サーバ公開鍵証明書Kp_sは、Root公開鍵証明書Kp_rとペアのRoot秘密鍵を使用して生成される。サーバ公開鍵証明書Kp_sは、サーバ装置2000の公開鍵証明書として生成される。
 車両公開鍵証明書Kp_cの車両公開鍵と車両秘密鍵Ks_cとは、ペアの公開鍵と秘密鍵として生成される。車両公開鍵証明書Kp_cは、Root公開鍵証明書Kp_rとペアのRoot秘密鍵を使用して生成される。車両公開鍵証明書Kp_cは、自動車1001の公開鍵証明書として生成される。
 第2演算処理装置600の一例としてのSIM1052には、例えば、SIM1052の製造工場で、Root公開鍵証明書Kp_rと、サーバ公開鍵証明書Kp_sと、車両公開鍵証明書Kp_cと、車両秘密鍵Ks_cとがSIM1052に格納される。又は、自動車1001、通信モジュール1051若しくはTCU1050の製造工場などで、Root公開鍵証明書Kp_rと、サーバ公開鍵証明書Kp_sと、車両公開鍵証明書Kp_cと、車両秘密鍵Ks_cとがSIM1052に格納されてもよい。
 通信方法の例1は、自動車1001の生産又は保守の段階(生産保守フェーズ)と、自動車1001の一般の走行の段階(市場走行フェーズ)とから構成される。
(生産保守フェーズ)
 通信方法の例1の生産保守フェーズを説明する。生産保守フェーズは、自動車製造会社での自動車1001の生産時、又は、自動車整備工場や自動車販売店等での自動車1001の保守時に実施される。
(ステップS1)第1演算処理装置500は、自動車1001の車両識別番号(VehicleIdentification Number:VIN)を取得する。車両識別番号(VIN)については、例えば非特許文献2に記載されている。自動車1001の車両識別番号VINは、予め第1演算処理装置500に格納されてもよく、又は、所定の契機で外部から第1演算処理装置500に車両識別番号VINが通知されてもよい。
 例えば、自動車1001のエンジン制御機能を有するECU1020が該自動車1001の車両識別番号VINを格納している場合、該ECU1020の起動後に該ECU1020から第1演算処理装置500に該自動車1001の車両識別番号VINが通知されてもよい。
 又は、自動車1001の車両識別番号VINとして、例えば自動車1001の自動車製造会社や自動車販売店などで管理されている車両識別番号VINが第1演算処理装置500に供給されてもよい。例えば、自動車1001の自動車製造会社が車両識別番号VINのデータベースを備え、該データベースから通信により車両識別番号VINが自動車1001の第1演算処理装置500に通知されてもよい。
(ステップS2)第1演算処理装置500は、車両公開鍵証明書Kp_cの要求メッセージを第2演算処理装置600に送信する。
(ステップS3)第2演算処理装置600は、第1演算処理装置500から受信した車両公開鍵証明書Kp_cの要求メッセージに応じて、記憶部602に格納される車両公開鍵証明書Kp_cを第1演算処理装置500に送信する。
(ステップS4)第1演算処理装置500は、自動車1001の車両識別番号VINと、第2演算処理装置600から受信した車両公開鍵証明書Kp_cとをサーバ装置2000に送信する。
(ステップS5)サーバ装置2000は、自動車1001の第1演算処理装置500から受信した車両公開鍵証明書Kp_cを、記憶部12に格納されるRoot公開鍵証明書Kp_rを使用して、正当性の検証を行う。サーバ装置2000は、車両公開鍵証明書Kp_cの正当性の検証の結果が合格である場合には、車両公開鍵証明書Kp_cと自動車1001の車両識別番号VINとを関連付けて記憶部12に格納する。一方、サーバ装置2000は、車両公開鍵証明書Kp_cの正当性の検証の結果が不合格である場合には、車両公開鍵証明書Kp_cを破棄する。また、サーバ装置2000は、所定のエラー処理を実行してもよい。
 以上が通信方法の例1の生産保守フェーズの説明である。
 なお、サーバ装置2000が、予め、自動車1001の車両識別番号VINと車両公開鍵証明書Kp_cとを関連付けて記憶部12に格納しておいてもよい。この場合には、上記した生産保守フェーズのステップS1からステップS5までの手順が実行されなくてもよい。
(市場走行フェーズ)
 通信方法の例1の市場走行フェーズを説明する。市場走行フェーズは、自動車1001の一般の走行の段階において、例えば、自動車1001のエンジン始動時や、自動車1001とサーバ装置2000との通信の開始時などに実施される。
(ステップS11)第1演算処理装置500は、自動車1001の車両識別番号VINとチャレンジ(乱数c)とをサーバ装置2000に送信する。第1演算処理装置500は、乱数cを発生し、乱数cをチャレンジに使用する。第1演算処理装置500は、チャレンジ(乱数c)を保持しておく。
(ステップS12)サーバ装置2000の認証処理部18は、第1演算処理装置500から受信したチャレンジ(乱数c)を、記憶部12に格納されるサーバ秘密鍵Ks_sで暗号化する。このチャレンジ(乱数c)の暗号化データはレスポンスKs_s(乱数c)である。
(ステップS13)サーバ装置2000の認証処理部18は、乱数sを発生し、乱数sをチャレンジに使用する。認証処理部18は、レスポンスKs_s(乱数c)と、チャレンジ(乱数s)とを第1演算処理装置500に送信する。認証処理部18は、チャレンジ(乱数s)を保持しておく。
(ステップS14)第1演算処理装置500は、サーバ装置2000に送信したチャレンジ(乱数c)と、サーバ装置2000から受信したレスポンスKs_s(乱数c)及びチャレンジ(乱数s)とを第2演算処理装置600に送信する。
(ステップS15)第2演算処理装置600の認証処理部604は、第1演算処理装置500から受信したレスポンスKs_s(乱数c)の検証を行う。このレスポンス検証では、認証処理部604は、第1演算処理装置500から受信したチャレンジ(乱数c)と、記憶部602に格納されるサーバ公開鍵証明書Kp_sとを使用して、レスポンスKs_s(乱数c)の正当性を検証する。認証処理部604は、サーバ公開鍵証明書Kp_sのサーバ公開鍵でレスポンスKs_s(乱数c)を復号し、この復号結果とチャレンジ(乱数c)とを比較する。この比較の結果、両者が一致する場合にはレスポンスKs_s(乱数c)の検証が合格であり、両者が不一致の場合にはレスポンスKs_s(乱数c)の検証が不合格である。
 第2演算処理装置600は、レスポンスKs_s(乱数c)の検証が合格である場合には、ステップS16に進む。一方、レスポンスKs_s(乱数c)の検証が不合格である場合には、第2演算処理装置600は、図8の処理を終了する。レスポンスKs_s(乱数c)の検証が不合格である場合には、第2演算処理装置600は所定のエラー処理を実行してもよい。
(ステップS16)第2演算処理装置600の認証処理部604は、第1演算処理装置500から受信したチャレンジ(乱数s)を、記憶部602に格納される車両秘密鍵Ks_cで暗号化する。このチャレンジ(乱数s)の暗号化データはレスポンスKs_c(乱数s)である。
(ステップS17)第2演算処理装置600の認証処理部604は、レスポンスKs_c(乱数s)を第1演算処理装置500に送信する。
(ステップS18)第1演算処理装置500は、第2演算処理装置600から受信したレスポンスKs_c(乱数s)をサーバ装置2000に送信する。
(ステップS19)サーバ装置2000の認証処理部18は、自動車1001の第1演算処理装置500から受信したレスポンスKs_c(乱数s)の検証を行う。このレスポンス検証では、認証処理部18は、第1演算処理装置500に送信したチャレンジ(乱数s)と、自動車1001の車両識別番号VINに関連付けて記憶部12に格納される車両公開鍵証明書Kp_cとを使用して、レスポンスKs_c(乱数s)の正当性を検証する。
 認証処理部604は、車両公開鍵証明書Kp_cの車両公開鍵でレスポンスKs_c(乱数s)を復号し、この復号結果とチャレンジ(乱数s)とを比較する。この比較の結果、両者が一致する場合にはレスポンスKs_c(乱数s)の検証が合格であり、両者が不一致の場合にはレスポンスKs_c(乱数s)の検証が不合格である。
 サーバ装置2000は、レスポンスKs_c(乱数s)の検証が合格である場合には、ステップS20に進む。一方、レスポンスKs_c(乱数s)の検証が不合格である場合には、サーバ装置2000は、図8の処理を終了する。レスポンスKs_c(乱数s)の検証が不合格である場合には、サーバ装置2000は所定のエラー処理を実行してもよい。
(ステップS20)サーバ装置2000の鍵生成部15は、セッション鍵K_comを生成する。例えば、鍵生成部15は、乱数を発生し、発生した乱数に基づいてセッション鍵K_comを生成してもよい。記憶部12は、セッション鍵K_comを自動車1001の車両識別番号VINに対応付けて格納する。セッション鍵K_comは共通鍵に対応する。
(ステップS21)サーバ装置2000の鍵送受部16は、自動車1001の車両識別番号VINに関連付けて記憶部12に格納される車両公開鍵証明書Kp_cの車両公開鍵でセッション鍵K_comを暗号化し、暗号化セッション鍵EKp_c(K_com)を生成する。鍵送受部16は、暗号化セッション鍵EKp_c(K_com)を自動車1001の第1演算処理装置500に送信する。
(ステップS22)第1演算処理装置500は、サーバ装置2000から受信した暗号化セッション鍵EKp_c(K_com)を第2演算処理装置600に送信する。
(ステップS23)第2演算処理装置600の鍵送受部603は、第1演算処理装置500から受信した暗号化セッション鍵EKp_c(K_com)を、記憶部602に格納される車両秘密鍵Ks_cで復号する。この復号の結果としてセッション鍵K_comが取得される。これにより、サーバ装置2000と自動車1001とは同じセッション鍵K_comを保持する。
(ステップS24)第2演算処理装置600の鍵送受部603は、セッション鍵K_comを第1演算処理装置500に送信する。第1演算処理装置500の記憶部502は、第2演算処理装置600から受信したセッション鍵K_comを格納する。
(ステップS25)サーバ装置2000の通信部11と、自動車1001の第1演算処理装置500の通信部501とは、セッション鍵K_comを使用して暗号通信を行う。この暗号通信では、セッション鍵K_comを使用してデータが暗号化された暗号化データK_com(データ)が、サーバ装置2000の通信部11と、自動車1001の第1演算処理装置500の通信部501との間で送受される。これにより、サーバ装置2000の通信部11と、自動車1001の第1演算処理装置500の通信部501との間で、セッション鍵K_comを使用した暗号通信路が構築される。
 以上が通信方法の例1の市場走行フェーズの説明である。
 上述した通信方法の例1によれば、サーバ装置2000と自動車1001の第2演算処理装置600とは、サーバ装置2000の公開鍵及び秘密鍵のペアと、自動車1001の公開鍵及び秘密鍵のペアとを使用して、相互に公開鍵暗号方式の認証処理を行い、自動車1001の公開鍵及び秘密鍵のペアを使用する暗号通信によりセッション鍵K_com(共通鍵)を送受する。これにより、サーバ装置2000と自動車1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(共通鍵)の安全性が向上する。このことは、自動車1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
 また、自動車1001の秘密鍵(車両秘密鍵Ks_c)は、自動車1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、自動車1001の秘密鍵の漏洩を防止する効果が得られる。
 また、サーバ装置2000と自動車1001との間の暗号通信に使用されるセッション鍵K_com(共通鍵)は、自動車1001において第1演算処理装置500で保管される。セキュアエレメントに限定されない第1演算処理装置500には、比較的処理能力の高いCPUを使用することにより、サーバ装置2000と自動車1001との間の暗号通信の通信速度を向上させることができる。
<通信方法の例2>
 図9を参照して本実施形態に係る通信方法の例2を説明する。図9は、本実施形態に係る通信方法の例2を示すシーケンスチャートである。図9において図8の各ステップに対応する部分には同一の符号を付している。
 図9において、サーバ装置2000は、図8の通信方法の例1と同様に、Root公開鍵証明書Kp_rと、サーバ公開鍵証明書Kp_sと、サーバ秘密鍵Ks_sとを予め記憶部12に格納する。第2演算処理装置600は、図8の通信方法の例1と同様に、Root公開鍵証明書Kp_rと、サーバ公開鍵証明書Kp_sと、車両公開鍵証明書Kp_cと、車両秘密鍵Ks_cとを予め記憶部602に格納する。
 通信方法の例2は、通信方法の例1と同様に生産保守フェーズと市場走行フェーズとから構成される。
(生産保守フェーズ)
 通信方法の例2の生産保守フェーズは、通信方法の例1の生産保守フェーズと同じである。通信方法の例2の生産保守フェーズにおいて、通信方法の例1と同様に、ステップS1からステップS5までが実施される。これにより、サーバ装置2000の記憶部12には、正当性の検証の結果が合格である車両公開鍵証明書Kp_cと自動車1001の車両識別番号VINとが関連付けて格納される。
 以上が通信方法の例2の生産保守フェーズの説明である。
 なお、サーバ装置2000が、予め、自動車1001の車両識別番号VINと車両公開鍵証明書Kp_cとを関連付けて記憶部12に格納しておいてもよい。この場合には、生産保守フェーズのステップS1からステップS5までの手順を実行しなくてもよい。
(市場走行フェーズ)
 通信方法の例2の市場走行フェーズを説明する。通信方法の例2の市場走行フェーズにおいて、ステップS11からステップS19までが実行される。ステップS11からステップS19までは、通信方法の例1と同じである。
(ステップS31)第2演算処理装置600の鍵生成部601は、セッション鍵K_comを生成する。例えば、鍵生成部601は、乱数を発生し、発生した乱数に基づいてセッション鍵K_comを生成してもよい。記憶部602は、セッション鍵K_comを格納する。セッション鍵K_comは共通鍵に対応する。
(ステップS32)第2演算処理装置600の鍵送受部603は、記憶部602に格納されるサーバ公開鍵証明書Kp_sのサーバ公開鍵でセッション鍵K_comを暗号化し、暗号化セッション鍵EKp_s(K_com)を生成する。鍵送受部603は、暗号化セッション鍵EKp_s(K_com)を第1演算処理装置500に送信する。
(ステップS33)第1演算処理装置500は、第2演算処理装置600から受信した暗号化セッション鍵EKp_s(K_com)をサーバ装置2000に送信する。
(ステップS34)サーバ装置2000の鍵送受部16は、第1演算処理装置500から受信した暗号化セッション鍵EKp_s(K_com)を、記憶部12に格納されるサーバ秘密鍵Ks_sで復号する。この復号の結果としてセッション鍵K_comが取得される。記憶部12は、セッション鍵K_comを自動車1001の車両識別番号VINに対応付けて格納する。これにより、サーバ装置2000と自動車1001とは同じセッション鍵K_comを保持する。
(ステップS35)第2演算処理装置600の鍵送受部603は、セッション鍵K_comを第1演算処理装置500に送信する。第1演算処理装置500の記憶部502は、第2演算処理装置600から受信したセッション鍵K_comを格納する。
(ステップS36)サーバ装置2000の通信部11と、自動車1001の第1演算処理装置500の通信部501とは、セッション鍵K_comを使用して暗号通信を行う。この暗号通信では、セッション鍵K_comを使用してデータが暗号化された暗号化データK_com(データ)が、サーバ装置2000の通信部11と、自動車1001の第1演算処理装置500の通信部501との間で送受される。これにより、サーバ装置2000の通信部11と、自動車1001の第1演算処理装置500の通信部501との間で、セッション鍵K_comを使用した暗号通信路が構築される。
 以上が通信方法の例2の市場走行フェーズの説明である。
 上述した通信方法の例2によれば、サーバ装置2000と自動車1001の第2演算処理装置600とは、サーバ装置2000の公開鍵及び秘密鍵のペアと、自動車1001の公開鍵及び秘密鍵のペアとを使用して、相互に公開鍵暗号方式の認証処理を行い、サーバ装置2000の公開鍵及び秘密鍵のペアを使用する暗号通信によりセッション鍵K_com(共通鍵)を送受する。これにより、サーバ装置2000と自動車1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(共通鍵)の安全性が向上する。このことは、自動車1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
 また、自動車1001の秘密鍵(車両秘密鍵Ks_c)は、自動車1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、自動車1001の秘密鍵の漏洩を防止する効果が得られる。
 また、サーバ装置2000と自動車1001との間の暗号通信に使用されるセッション鍵K_com(共通鍵)は、自動車1001において第1演算処理装置500で保管される。セキュアエレメントに限定されない第1演算処理装置500には、比較的処理能力の高いCPUを使用することにより、サーバ装置2000と自動車1001との間の暗号通信の通信速度を向上させることができる。
 以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
 なお、上述した実施形態では、サーバ装置2000がRoot公開鍵証明書Kp_rを備えたが、車両公開鍵証明書Kp_cの正当性の検証を実施しない場合には、サーバ装置2000はRoot公開鍵証明書Kp_rを備えなくてもよい。
 自動車1001の第2演算処理装置600は、Root公開鍵証明書Kp_rを使用してサーバ公開鍵証明書Kp_sの正当性の検証を実行してもよい。一方、サーバ公開鍵証明書Kp_sの正当性の検証を実施しない場合には、自動車1001はRoot公開鍵証明書Kp_rを備えなくてもよい。
 なお、第1演算処理装置500がJTAG(Joint Test Action Group)等のデバッグポートを備える場合、該デバッグポートに対してID(識別子)による認証機能が設けられてもよい。これにより、第1演算処理装置500に対するメモリダンプやタッピング攻撃などの攻撃によってセッション鍵K_comが漏洩することを抑制することができる。例えば、インフォテイメント機器1040やデータ保安装置1010のデバッグポートに対してIDによる認証機能が設けられてもよい。
 上述した実施形態では、データ保安装置1010やECU1020にHSMやSHEを使用したが、HSM及びSHE以外の暗号処理チップが使用されてもよい。データ保安装置1010に対して、例えば「TPM(Trusted Platform Module)f」と呼ばれる暗号処理チップが使用されてもよい。TPMfは耐タンパー性を有する。TPMfはセキュアエレメントの例である。ECU1020に対して、例えば「TPMt」と呼ばれる暗号処理チップが使用されてもよい。TPMtは耐タンパー性を有する。TPMtはセキュアエレメントの例である。
 上述した実施形態は、例えば、自動車の製造工場や整備工場、販売店等において、自動車1001に適用されてもよい。
 上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
 また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
 さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
 また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
 また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
 さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
 本発明によれば、自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させることができるという効果が得られる。
11,501…通信部、12,112,212,502,602…記憶部、15,601…鍵生成部、16,603…鍵送受部、18,604…認証処理部、110,210…CPU、116,216…インタフェース部、118…タッチパネル、120…マイクロフォン、122…スピーカ、1001…自動車、1002…車載コンピュータシステム、1010…データ保安装置、1011,1021…メイン演算器、1012…HSM、1013,1023…記憶部、1020…ECU、1022…SHE、1030…CAN、1040…インフォテイメント機器、1050…TCU、1051…通信モジュール、1052…SIM、1060…診断ポート、2000…サーバ装置、2100…メンテナンスツール

Claims (6)

  1.  車両とサーバ装置との間の通信を行う通信システムであり、
     前記サーバ装置と、前記車両に搭載される第1演算処理装置と、前記車両に搭載されるセキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置は、
     前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する車両鍵記憶部と、
     前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う車両認証処理部と、
     前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する車両鍵送受部と、を備え、
     前記第1演算処理装置は、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備え、
     前記サーバ装置は、
     前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納するサーバ鍵記憶部と、
     前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両の前記車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行うサーバ認証処理部と、
     前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記車両の前記車両鍵送受部との間で前記共通鍵を送信又は受信するサーバ鍵送受部と、
     前記共通鍵を使用して、前記車両の前記車両通信部との間で暗号通信を行うサーバ通信部と、を備える、
     通信システム。
  2.  サーバ装置と通信を行う車両であり、
     第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置は、
     前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納する車両鍵記憶部と、
     前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行う車両認証処理部と、
     前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する車両鍵送受部と、を備え、
     前記第1演算処理装置は、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備える、
     車両。
  3.  車両と通信を行うサーバ装置であり、
     前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納するサーバ鍵記憶部と、
     前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行うサーバ認証処理部と、
     前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記第2演算処理装置の車両鍵送受部との間で共通鍵を送信又は受信するサーバ鍵送受部と、
     前記共通鍵を使用して、前記車両の車両通信部との間で暗号通信を行うサーバ通信部と、
     を備えるサーバ装置。
  4.  車両とサーバ装置との間の通信方法であって、
     前記車両は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置が、前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納し、
     前記第2演算処理装置が、前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行い、
     前記第2演算処理装置が、前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信し、
     前記第1演算処理装置が、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う、
     を含む通信方法。
  5.  サーバ装置と通信を行う車両に備わる、セキュアエレメントである第2コンピュータに、
     前記車両の秘密鍵である車両秘密鍵と前記サーバ装置の公開鍵であるサーバ公開鍵とを格納し、
     前記車両秘密鍵と前記サーバ公開鍵とを使用して前記サーバ装置との間で相互に公開鍵暗号方式の認証処理を行い、
     前記車両秘密鍵又は前記サーバ公開鍵を使用する暗号通信により、前記サーバ装置との間で共通鍵を送信又は受信する、処理を実行させ、
     前記車両に備わる第1コンピュータに、前記共通鍵を使用して、前記サーバ装置との間で暗号通信を行う処理を実行させるためのコンピュータプログラム。
  6.  車両と通信を行うサーバ装置のコンピュータに、
     前記車両の公開鍵である車両公開鍵と前記サーバ装置の秘密鍵であるサーバ秘密鍵とを格納し、
     前記車両公開鍵と前記サーバ秘密鍵とを使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で相互に公開鍵暗号方式の認証処理を行い、
     前記車両公開鍵又は前記サーバ秘密鍵を使用する暗号通信により、前記第2演算処理装置の車両鍵送受部との間で共通鍵を送信又は受信し、
     前記共通鍵を使用して、前記車両の車両通信部との間で暗号通信を行う、
     処理を実行させるためのコンピュータプログラム。
PCT/JP2017/040055 2017-01-13 2017-11-07 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム WO2018131270A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017004191A JP2018113641A (ja) 2017-01-13 2017-01-13 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム
JP2017-004191 2017-01-13

Publications (1)

Publication Number Publication Date
WO2018131270A1 true WO2018131270A1 (ja) 2018-07-19

Family

ID=62839334

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/040055 WO2018131270A1 (ja) 2017-01-13 2017-11-07 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム

Country Status (2)

Country Link
JP (1) JP2018113641A (ja)
WO (1) WO2018131270A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011077740A (ja) * 2009-09-30 2011-04-14 Seiko Instruments Inc 鍵情報管理装置
JP2016092811A (ja) * 2014-10-29 2016-05-23 Kddi株式会社 鍵管理システム、鍵管理サーバ装置、管理装置、車両、鍵管理方法およびコンピュータプログラム
JP2016131311A (ja) * 2015-01-14 2016-07-21 日本電信電話株式会社 ユーザ端末、サーバ装置、通信システム、通信方法、プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008252219A (ja) * 2007-03-29 2008-10-16 Nec Corp サーバ装置およびsslサーバ証明書発行プログラム
US8996868B2 (en) * 2010-12-15 2015-03-31 Electronics And Telecommunications Research Institute Method of authenticating vehicle communication
US9021278B2 (en) * 2011-08-10 2015-04-28 Qualcomm Incorporated Network association of communication devices based on attenuation information
WO2015173900A1 (ja) * 2014-05-14 2015-11-19 株式会社日立製作所 認証局管理方法、ネットワーク装置およびプログラム
FR3030818B1 (fr) * 2014-12-23 2016-12-23 Valeo Comfort & Driving Assistance Procede de transmission securisee d'une cle virtuelle et methode d'authentification d'un terminal mobile
US9865110B2 (en) * 2015-05-22 2018-01-09 M2MD Technologies, Inc. Method and system for securely and automatically obtaining services from a machine device services server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011077740A (ja) * 2009-09-30 2011-04-14 Seiko Instruments Inc 鍵情報管理装置
JP2016092811A (ja) * 2014-10-29 2016-05-23 Kddi株式会社 鍵管理システム、鍵管理サーバ装置、管理装置、車両、鍵管理方法およびコンピュータプログラム
JP2016131311A (ja) * 2015-01-14 2016-07-21 日本電信電話株式会社 ユーザ端末、サーバ装置、通信システム、通信方法、プログラム

Also Published As

Publication number Publication date
JP2018113641A (ja) 2018-07-19

Similar Documents

Publication Publication Date Title
JP6288219B1 (ja) 通信システム
JP6260067B1 (ja) 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム
WO2017217070A1 (ja) システム、認証局、車載コンピュータ、車両、公開鍵証明書発行方法、及びプログラム
US11265170B2 (en) Vehicle information collection system, vehicle-mounted computer, vehicle information collection device, vehicle information collection method, and computer program
JP6731887B2 (ja) 保守システム及び保守方法
WO2017033602A1 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
US11212109B2 (en) Data provision system, data security device, data provision method, and computer program
US10970398B2 (en) Data provision system, data security device, data provision method, and computer program
WO2017115751A1 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
JP6260068B1 (ja) 保守装置、保守方法、及びコンピュータプログラム
JP6547180B2 (ja) 通信システム
JP2018019415A (ja) システム、認証局、車載コンピュータ、公開鍵証明書発行方法、及びプログラム
JP6203798B2 (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム
JP6188744B2 (ja) 管理システム、車両及び管理方法
JP2018014770A (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
WO2018131270A1 (ja) 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム
JP6464466B2 (ja) 保守装置、保守方法、及びコンピュータプログラム
JP6554704B2 (ja) データ提供システム及びデータ提供方法
JP6454919B2 (ja) 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム
JP2017208731A (ja) 管理システム、管理装置、車載コンピュータ、管理方法、及びコンピュータプログラム
JP6787848B2 (ja) 通信システム及び通信方法
JP6354099B2 (ja) データ提供システム及びデータ提供方法
JP2018142823A (ja) 通信システム、及び、通信方法
JP2017225186A (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: 17891052

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

Country of ref document: EP

Kind code of ref document: A1