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

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

Info

Publication number
WO2018092356A1
WO2018092356A1 PCT/JP2017/027040 JP2017027040W WO2018092356A1 WO 2018092356 A1 WO2018092356 A1 WO 2018092356A1 JP 2017027040 W JP2017027040 W JP 2017027040W WO 2018092356 A1 WO2018092356 A1 WO 2018092356A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
vehicle
communication
server device
arithmetic processing
Prior art date
Application number
PCT/JP2017/027040
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株式会社
Priority to US16/315,031 priority Critical patent/US11212080B2/en
Priority to CN201780042182.0A priority patent/CN109479002A/zh
Priority to EP17872635.2A priority patent/EP3544224A4/en
Publication of WO2018092356A1 publication Critical patent/WO2018092356A1/ja

Links

Images

Classifications

    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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
    • H04L9/3271Cryptographic 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 using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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
    • H04L9/321Cryptographic 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 involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • H04W12/0471Key exchange
    • 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
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle

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 November 8, 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 key processing unit that is a secure element, and the second key processing unit stores a first key and a second key used for communication between the vehicle and the server device.
  • a vehicle authentication processing unit that performs an authentication process with the server device using the first key, and a third key is transmitted with the server device by encrypted communication using the second key.
  • a vehicle key transmission / reception unit for receiving, wherein the first arithmetic processing unit includes a vehicle communication unit for performing cryptographic communication with the server device using the third key, wherein the server device is , Storing the same first key and second key as the vehicle
  • a server authentication processing unit that performs an authentication process between the server key storage unit, the vehicle authentication processing unit of the vehicle using the first key, and an encryption communication that uses the second key.
  • a server key transmission / reception unit that transmits or receives the third key to / from the vehicle key transmission / reception unit, and a server that performs cryptographic communication with the vehicle communication unit of the vehicle using the third key A communication unit.
  • 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 first vehicle key storage unit that stores a first key used for communication between the vehicle and the server device;
  • a vehicle authentication processing unit that performs authentication processing with the server device using the first key, and the first arithmetic processing device is used for communication between the vehicle and the server device.
  • a first vehicle key storage unit that stores the second key, a vehicle key transmission / reception unit that transmits or receives a third key to / from the server device by encrypted communication using the second key, and the third key Vehicle communication that performs cryptographic communication with the server device using a key.
  • a server key storage unit that stores the same first key and the second key as the vehicle, and the vehicle authentication processing unit of the vehicle using the first key.
  • a server authentication processing unit that performs authentication processing between the server key, and a server key transmission / reception unit that transmits or receives the third key to / from the vehicle key transmission / reception unit of the vehicle by encrypted communication using the second key;
  • a server communication unit that performs cryptographic communication with the vehicle communication unit of the vehicle using the third key.
  • the second arithmetic processing unit includes a vehicle master key storage unit that stores a master key, and the master key.
  • a communication system further comprising: a vehicle key generation unit that generates the first key and the second key using a vehicle correspondence identifier corresponding to the vehicle.
  • the server device includes a server master key storage unit that stores the same master key as the vehicle, and the master key. And a server key generation unit that generates the first key and the second key using a vehicle correspondence identifier corresponding to the vehicle.
  • the first arithmetic processing device uses the vehicle corresponding identifier as the second arithmetic processing device and the server device. It is a communication system further provided with the vehicle corresponding identifier notification part which notifies to.
  • One aspect 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.
  • Vehicle key storage unit for storing a first key and a second key used for communication between the server device and the server device, and vehicle authentication for performing an authentication process with the server device using the first key
  • a processing unit and a vehicle key transmission / reception unit that transmits or receives a third key to / from the server device by encrypted communication using the second key.
  • the vehicle includes a vehicle communication unit that performs cryptographic communication with the server device using a key.
  • One aspect 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 second vehicle key storage unit that stores a first key used for communication between the server device and the server device, and a vehicle authentication processing unit that performs an authentication process with the server device using the first key
  • the first arithmetic processing unit includes a first vehicle key storage unit that stores a second key used for communication between the vehicle and the server device, and an encryption that uses the second key.
  • a vehicle key transmission / reception unit that transmits or receives a third key to / from the server device by communication, and a vehicle communication unit that performs encrypted communication with the server device using the third key; It is a vehicle provided.
  • One aspect of the present invention is a server device that communicates with a vehicle, a server key storage unit that stores the same first key and second key as the vehicle, and the vehicle using the first key. Between the server authentication processing unit that performs authentication processing with the vehicle authentication processing unit of the second arithmetic processing unit, which is a secure element, and the vehicle key transmission / reception unit of the vehicle by encrypted communication using the second key.
  • the server device includes: a server key transmission / reception unit that transmits or receives the third key; and a server communication unit that performs cryptographic communication with the vehicle communication unit of the vehicle using the third key.
  • One aspect of the present invention is a communication method between a vehicle and a server device, the vehicle including a first arithmetic processing device and a second arithmetic processing device that is a secure element, and the second
  • the arithmetic processing device stores a first key and a second key used for communication between the vehicle and the server device, and the second arithmetic processing device uses the first key to store the server device.
  • the second arithmetic processing unit transmits or receives a third key to or from the server device by encrypted communication using the second key, and the first arithmetic processing unit Is a communication method in which cryptographic communication is performed with the server device using the third key.
  • One aspect of the present invention is a communication method between a vehicle and a server device, the vehicle including a first arithmetic processing device and a second arithmetic processing device that is a secure element,
  • the arithmetic processing device stores a first key used for communication between the vehicle and the server device, and the second arithmetic processing device uses the first key to communicate with the server device.
  • Authentication processing is performed, the first arithmetic processing device stores a second key used for communication between the vehicle and the server device, and the first arithmetic processing device uses the second key.
  • a communication in which a third key is transmitted to or received from the server device by cryptographic communication, and the first arithmetic processing device performs cryptographic communication with the server device using the third key. Is the method.
  • a second computer which is a secure element, provided in a vehicle that communicates with a server device, includes a first key and a second key used for communication between the vehicle and the server device.
  • a key is stored, an authentication process is performed with the server device using the first key, and a third key is transmitted or received with the server device by encrypted communication using the second key.
  • This is a computer program that realizes processing and realizes processing for performing cryptographic communication with the server device using the third key in a first computer provided in the vehicle.
  • a first key used for communication between the vehicle and the server device is stored in a second computer that is a secure element provided in the vehicle that communicates with the server device.
  • the authentication process is performed with the server device using the first key, the processing is realized, and the first computer provided in the vehicle is used for communication between the vehicle and the server device.
  • a second key is stored, a third key is transmitted to or received from the server device by encrypted communication using the second key, and the third device is used to transmit or receive the third key. It is a computer program for performing processing that performs cryptographic communication.
  • a first key and a second key that are the same as the vehicle are stored in a computer of a server device that communicates with the vehicle, and the secure element of the vehicle uses the first key.
  • An authentication process is performed with a vehicle authentication processing unit of a second arithmetic processing unit, and a third key is transmitted or received with the vehicle key transmission / reception unit of the vehicle by encrypted communication using the second key.
  • a computer program that realizes a process of performing cryptographic communication with the vehicle communication unit of the vehicle using the third key.
  • 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 diagnosis port 1060 as examples of devices 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 referred to as 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 with a communication cable.
  • the server device 2000 and the automobile 1001 may be configured to perform communication 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, a storage unit 502, a key transmission / reception unit 503, and an identifier notification unit 504.
  • the communication unit 501 communicates with a device outside the first arithmetic processing device 500.
  • the storage unit 502 stores data.
  • the key transmission / reception unit 503 transmits or receives a key to or from the server device 2000.
  • the identifier notification unit 504 notifies the vehicle-compatible identifier.
  • 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 be provided with 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 for transmitting / receiving data via the CAN 1030, an interface for transmitting / receiving data to / from the infotainment device 1040, an interface for transmitting / receiving 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 to the first arithmetic processing device and the second arithmetic processing device.
  • 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.
  • the vehicle correspondence identifier is an identifier corresponding to the automobile 1001.
  • the vehicle correspondence identifier is configured using a vehicle identification number (VIN) of the automobile 1001.
  • VIN vehicle identification number
  • the vehicle-corresponding identifier may be a vehicle identification number, or may be information composed of a vehicle identification number and other information.
  • the vehicle identification number (VIN) is described in Non-Patent Document 2, for example.
  • the vehicle correspondence identifier is configured using an IMSI (International Mobile Subscriber Identity) or ICCID (Integrated Circuit Card ID) stored in the SIM 1052 mounted on the automobile 1001.
  • the vehicle correspondence identifier may be IMSI, or may be information configured by IMSI and other information.
  • the vehicle correspondence identifier may be ICCID, or may be information composed of ICCID and other information.
  • the vehicle correspondence identifier may be information including a plurality of IMSI, ICCID, and vehicle identification number.
  • the vehicle correspondence identifier is configured using identification information (in-vehicle device identification information) of a device (in-vehicle device) mounted in the automobile 1001.
  • identification information in-vehicle device identification information
  • the in-vehicle device identification information used for the vehicle-compatible identifier for example, the in-vehicle device identification of the in-vehicle device such as the identification information of the communication module 1051, the identification information of the TCU 1050, the identification information of the infotainment device 1040, the identification information of the data security device 1010, etc. Information can be applied.
  • compatible identifier may be comprised using one or several vehicle equipment identification information among the vehicle equipment identification information of each of these vehicle equipment.
  • the vehicle-corresponding identifier may be in-vehicle device identification information, or may be information composed of the in-vehicle device identification information and other information.
  • the vehicle correspondence identifier may be information including one or more of IMSI, ICCID, and vehicle identification number, and in-vehicle device identification information.
  • a MAC key K_mac_gen and an ENC key K_enc_gen are generated as examples of keys.
  • the MAC key K_mac_gen is a key used for authentication processing.
  • the ENC key K_enc_gen is a key used for encryption communication in key transmission or reception.
  • the MAC key K_mac_gen corresponds to the first key
  • the ENC key K_enc_gen corresponds to the second key.
  • a common key is generated using a predetermined key generation function.
  • An example of the key generation function will be described below.
  • Common key digest (Master_Secret, V_ID, Key_ID (Nk))
  • Master_Secret is a master key.
  • V_ID is a vehicle correspondence identifier.
  • Key_ID (Nk) is a key type identifier.
  • Nk is a variable representing the type of key.
  • the digest (Master_Secret, V_ID, Key_ID (Nk)) is a digest value generated from the master key Master_Secret, the vehicle corresponding identifier V_ID, and the key type identifier Key_ID (Nk).
  • Examples of the digest value include a value calculated by a hash function or a value calculated by an exclusive OR operation.
  • the common key is a hash function value calculated using the master key Master_Secret, the vehicle correspondence identifier V_ID, and the key type identifier Key_ID (Nk) as input values.
  • the digest value is different.
  • different common keys can be generated from the same master key Master_Secret and the vehicle corresponding identifier V_ID.
  • the key type identifier of the MAC key is Key_ID (mac)
  • the key type identifier of the ENC key is Key_ID (enc).
  • a CMAC (Cipher-based Message Authentication Code) is generated as a common key.
  • Common key CMAC (Master_Secret; V_ID, Key_ID (Nk))
  • the key “A” is a key used to generate CMAC
  • data “B” is data to be generated by CMAC.
  • the common key is “CMAC of data“ B ”” generated using the key “A”.
  • the master key Master_Secret is a key (key “A”) used for generating the CMAC, and is a concatenated data of the vehicle correspondence identifier V_ID and the key type identifier Key_ID (Nk). Is data (data “B”) to be generated by CMAC.
  • the common key is “CMAC of the concatenated data of the vehicle correspondence identifier V_ID and the key type identifier Key_ID (Nk)” generated using the master key Master_Secret.
  • the CMAC differs if the value of the key type identifier Key_ID (Nk) is different. Therefore, in the second key generation function example, as in the first key generation function example 1, by changing the value of the key type identifier Key_ID (Nk), the same master key Master_Secret and the vehicle corresponding identifier V_ID are different. A key can be generated.
  • a vehicle identification number is used as an example of a vehicle correspondence identifier.
  • the vehicle correspondence identifier of the automobile 1001 is the vehicle identification number VIN of the automobile 1001.
  • 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 unit 500 may perform https (hypertext transfer 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 master key Master_Secret in the storage unit 12 in advance.
  • the second arithmetic processing device 600 stores the master key Master_Secret in the storage unit 602 in advance.
  • the master key Master_Secret stored in the storage unit 12 by the server apparatus 2000 is the same as the master key Master_Secret stored in the storage unit 602 by the second arithmetic processing apparatus 600.
  • the storage unit 12 corresponds to a server master key storage unit.
  • the storage unit 602 corresponds to a vehicle master key storage unit.
  • the master key Master_Secret is stored in the SIM 1052 at the manufacturing factory of the SIM 1052.
  • the master key Master_Secret may be stored in the SIM 1052 at the manufacturing factory of the automobile 1001, the communication module 1051, or the TCU 1050.
  • 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.
  • Step S1 The first arithmetic processing unit 500 acquires the vehicle identification number VIN of the automobile 1001.
  • 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 may be supplied to the first arithmetic processing unit 500, for example, the vehicle identification number VIN managed by the automobile manufacturer or automobile dealer of the automobile 1001.
  • 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 identifier notifying unit 504 of the first arithmetic processing device 500 notifies the second arithmetic processing device 600 of the vehicle identification number VIN of the automobile 1001.
  • the key generation unit 601 of the second arithmetic processing device 600 includes the master key Master_Secret stored in the storage unit 602, the vehicle identification number VIN of the automobile 1001 notified from the first arithmetic processing device 500, and the key type identifier.
  • the MAC key K_mac_gen and the ENC key K_enc_gen are generated using Key_ID (mac) and Key_ID (enc).
  • the example of the key generation method mentioned above is applied to this key generation method.
  • the key generation function is set in the key generation unit 601 in advance.
  • the key type identifiers Key_ID (mac) and Key_ID (enc) are set in the key generation unit 601 in advance.
  • the key generation unit 601 corresponds to a vehicle key generation unit.
  • the vehicle correspondence identifier V_ID is the vehicle identification number VIN of the automobile 1001.
  • the digest value is a value calculated by a hash function as an example.
  • the storage unit 602 stores a MAC key K_mac_gen and an ENC key K_enc_gen.
  • the storage unit 602 corresponds to a vehicle key storage unit.
  • the second arithmetic processing unit 600 may delete the master key Master_Secret from the storage unit 602 after generating the MAC key K_mac_gen and the ENC key K_enc_gen. Thereby, the possibility that the master key Master_Secret is leaked can be reduced.
  • 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 the challenge (random number c).
  • the key generation unit 15 of the server device 2000 includes the master key Master_Secret stored in the storage unit 12, the vehicle identification number VIN of the automobile 1001 received from the first arithmetic processing unit 500, and the key type identifier Key_ID (mac).
  • Key_ID (enc) is used to generate a MAC key K_mac_gen and an ENC key K_enc_gen.
  • This key generation method is the same as the key generation method of the key generation unit 601 of the second arithmetic processing device 600 in step S3 described above.
  • the key generation function is set in the key generation unit 15 in advance.
  • the key type identifiers Key_ID (mac) and Key_ID (enc) are set in the key generation unit 15 in advance.
  • the key generation unit 15 corresponds to a server key generation unit.
  • the storage unit 12 stores the MAC key K_mac_gen and the ENC key K_enc_gen in association with the vehicle identification number VIN of the automobile 1001.
  • the storage unit 12 corresponds to a server key storage unit.
  • Step S ⁇ b> 13 The authentication processing unit 18 of the server device 2000 uses the MAC key K_mac_gen stored in the storage unit 12 and the challenge (random number c) received from the first arithmetic processing device 500, and uses the response K_mac_gen (random number). c) is generated.
  • This response generation method is set in the authentication processing unit 18 in advance.
  • the response K_mac_gen (random number c) is encrypted data obtained by encrypting the random number c with the MAC key K_mac_gen as an example according to the present embodiment.
  • the response K_mac_gen (random number c) may be CMAC (K_mac_gen; random number c), that is, “CMAC of random number c” generated using the MAC key K_mac_gen, as an example according to the present embodiment.
  • Step S14 The authentication processing unit 18 of the server device 2000 transmits a response K_mac_gen (random number c) and a challenge (random number s) to the first arithmetic processing unit 500 of the automobile 1001.
  • the authentication processing unit 18 generates a random number s and uses the random number s for a challenge.
  • the authentication processing unit 18 holds the challenge (random number s).
  • the first arithmetic processing unit 500 receives the challenge (random number c) transmitted to the server device 2000, the response K_mac_gen (random number c) and the challenge (random number s) received from the server device 2000, as the second arithmetic processing unit. 600.
  • Step S16 The authentication processing unit 604 of the second arithmetic processing device 600 verifies the response K_mac_gen (random number c) received from the first arithmetic processing device 500.
  • a method corresponding to the response generation method in the authentication processing unit 18 of the server apparatus 2000 is set in the authentication processing unit 604 in advance.
  • the authentication processing unit 604 uses the challenge (random number c) received from the first arithmetic processing unit 500 and the MAC key K_mac_gen stored in the storage unit 602.
  • the authentication processing unit 604 uses the MAC key K_mac_gen stored in the storage unit 602 to use the first arithmetic processing unit 500.
  • the challenge (random number c) received from is encrypted, and the encrypted data generated by the encryption is compared with the response K_mac_gen (random number c). As a result of this comparison, if the two match, the verification of the response K_mac_gen (random number c) is passed, and if the two do not match, the verification of the response K_mac_gen (random number c) fails.
  • the authentication processing unit 604 uses the MAC key K_mac_gen stored in the storage unit 602,
  • the response K_mac_gen (random number c) received from the first arithmetic processing unit 500 may be decrypted, and the decryption result may be compared with the challenge (random number c) received from the first arithmetic processing unit 500. As a result of this comparison, if the two match, the verification of the response K_mac_gen (random number c) is passed, and if the two do not match, the verification of the response K_mac_gen (random number c) fails.
  • the authentication processing unit 604 uses the MAC key K_mac_gen stored in the storage unit 602 to receive from the first arithmetic processing unit 500.
  • a CMAC for the challenge (random number c) is generated, and the generated CMAC is compared with the response K_mac_gen (random number c). As a result of this comparison, if the two match, the verification of the response K_mac_gen (random number c) is passed, and if the two do not match, the verification of the response K_mac_gen (random number c) fails.
  • step S17 the process of the second arithmetic processing unit 600 may execute a predetermined error process.
  • Step S17 The authentication processing unit 604 of the second processing unit 600 uses the MAC key K_mac_gen stored in the storage unit 602 and the challenge (random number s) received from the first processing unit 500 to respond. K_mac_gen (random number s) is generated. This response generation method is set in the authentication processing unit 604 in advance.
  • the response K_mac_gen (random number s) is encrypted data obtained by encrypting the random number s with the MAC key K_mac_gen as an example according to the present embodiment.
  • the response K_mac_gen (random number s) may be CMAC (K_mac_gen; random number s), that is, “CMAC of random number s” generated using the MAC key K_mac_gen, as an example according to the present embodiment.
  • Step S ⁇ b> 18 The authentication processing unit 604 of the second arithmetic processing device 600 transmits a response K_mac_gen (random number s) to the first arithmetic processing device 500.
  • Step S19 The first arithmetic processing unit 500 transmits the response K_mac_gen (random number s) received from the second arithmetic processing unit 600 to the server apparatus 2000.
  • Step S20 The authentication processing unit 18 of the server device 2000 verifies the response K_mac_gen (random number s) received from the first arithmetic processing device 500 of the automobile 1001.
  • a method corresponding to the response generation method in the authentication processing unit 604 of the second arithmetic processing unit 600 of the automobile 1001 is set in the authentication processing unit 18 in advance.
  • the authentication processing unit 18 uses the challenge (random number s) transmitted to the first arithmetic processing device 500 of the automobile 1001 and the MAC key K_mac_gen stored in the storage unit 12. .
  • the authentication processing unit 18 performs verification as follows. That is, the authentication processing unit 18 uses the MAC key K_mac_gen stored in the storage unit 12 to encrypt the challenge (random number s) transmitted to the first arithmetic processing unit 500 of the automobile 1001, and generates the encryption by the encryption
  • the encrypted data is compared with the response K_mac_gen (random number s). As a result of the comparison, if the two match, the verification of the response K_mac_gen (random number s) is passed, and if the two do not match, the verification of the response K_mac_gen (random number s) fails.
  • the authentication processing unit 18 performs verification as follows. That is, the authentication processing unit 18 uses the MAC key K_mac_gen stored in the storage unit 12 to decrypt the response K_mac_gen (random number s) received from the first arithmetic processing unit 500 of the automobile 1001, and the decryption result and You may compare with the challenge (random number s) transmitted to the 1st arithmetic processing unit 500.
  • FIG. As a result of the comparison, if the two match, the verification of the response K_mac_gen (random number s) is passed, and if the two do not match, the verification of the response K_mac_gen (random number s) fails.
  • the authentication processing unit 18 performs verification as follows. That is, the authentication processing unit 18 uses the MAC key K_mac_gen stored in the storage unit 12 to generate the CMAC of the challenge (random number s) transmitted to the first arithmetic processing unit 500 of the automobile 1001, and the generated CMAC and The response K_mac_gen (random number s) is compared. As a result of the comparison, if the two match, the verification of the response K_mac_gen (random number s) is passed, and if the two do not match, the verification of the response K_mac_gen (random number s) fails.
  • step S21 If the verification of the response K_mac_gen (random number s) is successful, the process proceeds to step S21. On the other hand, if the verification of the response K_mac_gen (random number s) fails, the process of FIG. 8 ends. If the verification of the response K_mac_gen (random number s) fails, the server apparatus 2000 may execute a predetermined error process.
  • the authentication processing unit 18 of the server apparatus 2000 corresponds to a server authentication processing unit.
  • the authentication processing unit 604 of the second arithmetic processing device 600 of the automobile 1001 corresponds to a vehicle authentication processing unit.
  • Step S21 The key transmission / reception unit 16 of the server apparatus 2000 generates a session key K_com.
  • the key transmission / reception unit 16 may generate a random number and generate a session key K_com based on the 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 the third key.
  • Step S22 The key transmission / reception unit 16 of the server apparatus 2000 encrypts the session key K_com using the ENC key K_enc_gen stored in the storage unit 12, and generates an encrypted session key K_enc_gen (K_com).
  • the key transmission / reception unit 16 transmits the encrypted session key K_enc_gen (K_com) to the first arithmetic processing unit 500 of the automobile 1001.
  • Step S23 The first arithmetic processing unit 500 transmits the encrypted session key K_enc_gen (K_com) received from the server apparatus 2000 to the second arithmetic processing unit 600.
  • Step S24 The key transmission / reception unit 603 of the second arithmetic processing device 600 decrypts the encrypted session key K_enc_gen (K_com) received from the first arithmetic processing device 500 with the ENC key K_enc_gen 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> 25 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.
  • the key transmission / reception unit 603 of the second arithmetic processing unit 600 of the automobile 1001 corresponds to the vehicle key transmission / reception unit.
  • the key transmission / reception unit 16 of the server apparatus 2000 corresponds to the server key transmission / reception unit.
  • Step S26 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 encrypted 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 communication unit 11 of the server device 2000 corresponds to a server communication unit.
  • Communication unit 501 of first arithmetic processing unit 500 of automobile 1001 corresponds to a vehicle communication unit.
  • the key transmission / reception unit 603 of the second arithmetic processing device 600 of the automobile 1001 may generate the session key K_com and supply it to the server device 2000.
  • the server device 2000 and the second arithmetic processing device 600 of the automobile 1001 perform the authentication process using the MAC key K_mac_gen (first key), and the ENC key K_enc_gen (second key).
  • the session key K_com (third key) is transmitted and received by encrypted communication using the key. This improves the security of the session key K_com (third 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 MAC key K_mac_gen (first key) used for the authentication process between the server apparatus 2000 and the automobile 1001 is stored in the second arithmetic processing apparatus 600 that is a secure element in the automobile 1001. Thereby, the reliability of authentication between the server apparatus 2000 and the automobile 1001 can be improved.
  • 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 apparatus 2000 stores the master key Master_Secret in the storage unit 12 in advance.
  • the second arithmetic processing device 600 stores the master key Master_Secret in the storage unit 602 in advance.
  • the master key Master_Secret stored in the storage unit 12 by the server apparatus 2000 is the same as the master key Master_Secret stored in the storage unit 602 by the second arithmetic processing apparatus 600.
  • the storage unit 12 corresponds to a server master key storage unit.
  • the storage unit 602 corresponds to a vehicle master key storage unit and a second vehicle key storage unit.
  • a master key Master_Secret is stored at the manufacturing factory of the SIM 1052.
  • the master key Master_Secret may be stored in the SIM 1052 at the manufacturing factory of the automobile 1001, the communication module 1051, or the TCU 1050.
  • the communication method example 2 includes a production maintenance phase and a market running phase as in the communication method example 1.
  • Step S4 is then executed.
  • Step S4 The second arithmetic processing unit 600 transmits the ENC key K_enc_gen to the first arithmetic processing unit 500.
  • the storage unit 502 of the first arithmetic processing device 500 stores the ENC key K_enc_gen received from the second arithmetic processing device 600.
  • the storage unit 502 corresponds to a first vehicle key storage unit.
  • Step S24a The key transmission / reception unit 503 of the first arithmetic processing device 500 decrypts the encrypted session key K_enc_gen (K_com) received from the server device 2000 with the ENC key K_enc_gen stored in the storage unit 502. 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.
  • the storage unit 502 of the first arithmetic processing device 500 stores a session key K_com.
  • the key transmission / reception unit 503 of the first arithmetic processing unit 500 of the automobile 1001 corresponds to a vehicle key transmission / reception unit.
  • the key transmission / reception unit 16 of the server apparatus 2000 corresponds to the server key transmission / reception unit.
  • the key transmission / reception unit 503 of the first arithmetic processing device 500 of the automobile 1001 may generate the session key K_com and supply it to the server device 2000.
  • Step S26 is the same as Example 1 of the communication method.
  • the server device 2000 and the second arithmetic processing device 600 of the automobile 1001 perform authentication processing using the MAC key K_mac_gen (first key).
  • the server device 2000 and the first arithmetic processing device 500 of the automobile 1001 transmit and receive a session key K_com (third key) by encrypted communication using the ENC key K_enc_gen (second key). This improves the security of the session key K_com (third 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 MAC key K_mac_gen (first key) used for the authentication process between the server apparatus 2000 and the automobile 1001 is stored in the second arithmetic processing apparatus 600 that is a secure element in the automobile 1001. Thereby, the reliability of authentication between the server apparatus 2000 and the automobile 1001 can be improved.
  • the ENC key K_enc_gen (second 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 that is not limited to the secure element can improve the communication speed of the cryptographic communication between the server apparatus 2000 and the automobile 1001 by using a CPU having a relatively high processing capability.
  • FIG. 10 is a sequence chart showing Example 3 of the communication method according to the present embodiment. 10, parts corresponding to the respective steps in FIG. 8 are denoted by the same reference numerals.
  • Communication method example 3 is composed of a production maintenance phase and a market running phase as in communication method example 1.
  • the server apparatus 2000 generates a key in the production maintenance phase.
  • differences from the communication method example 1 will be mainly described.
  • the server device 2000 and the second arithmetic processing device 600 store the same master key Master_Secret in advance as in the communication method example 1.
  • Step S2a is also executed.
  • Step S ⁇ b> 2 a The identifier notifying unit 504 of the first arithmetic processing device 500 transmits the vehicle identification number VIN of the automobile 1001 to the server device 2000.
  • the identifier notification unit 504 corresponds to a vehicle-compatible identifier notification unit.
  • step S12 is executed.
  • the step S12 is the same as the step S12 in the market running phase of the communication method example 1.
  • the storage unit 12 of the server device 2000 stores the MAC key K_mac_gen and the ENC key K_enc_gen in association with the vehicle identification number VIN of the automobile 1001.
  • the key transmission / reception unit 603 of the second arithmetic processing device 600 of the automobile 1001 may generate the session key K_com and supply it to the server device 2000.
  • the server device 2000 and the second arithmetic processing device 600 of the automobile 1001 perform the authentication process using the MAC key K_mac_gen (first key), and the ENC key K_enc_gen (second key).
  • the session key K_com (third key) is transmitted and received by encrypted communication using the key. This improves the security of the session key K_com (third 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 server apparatus 2000 generates the MAC key K_mac_gen (first key) and the ENC key K_enc_gen (second key) in the production maintenance phase. Thereby, shortening of the processing time in a market run phase can be aimed at.
  • the MAC key K_mac_gen (first key) used for the authentication process between the server apparatus 2000 and the automobile 1001 is stored in the second arithmetic processing apparatus 600 that is a secure element in the automobile 1001. Thereby, the reliability of authentication between the server apparatus 2000 and the automobile 1001 can be improved.
  • Example 4 of the communication method according to the present embodiment will be described with reference to FIG.
  • FIG. 11 is a sequence chart showing Example 4 of the communication method according to the present embodiment.
  • portions corresponding to the respective steps in FIG. 9 are denoted by the same reference numerals.
  • Communication method example 4 is composed of a production maintenance phase and a market running phase as in communication method example 2.
  • the server apparatus 2000 generates a key in the production maintenance phase.
  • differences from the communication method example 2 will be mainly described.
  • the server apparatus 2000 and the second arithmetic processing apparatus 600 store the same master key Master_Secret in advance as in the communication method example 2.
  • Step S1, S2, S3, and S4 are executed. Steps S1, S2, S3, and S4 are the same as those in the second example of the communication method. Moreover, step S2a and step S12 are performed. Steps S2a and S12 are the same as those in the communication method example 3.
  • the storage unit 12 of the server device 2000 stores the MAC key K_mac_gen and the ENC key K_enc_gen in association with the vehicle identification number VIN of the automobile 1001.
  • Step S11 steps S13 to S22, step S24a, and step S26 are executed.
  • Step S11, step S13 to step S22, and step S26 are the same as in the communication method example 1.
  • Step S24a is the same as Example 2 of the communication method.
  • the key transmission / reception unit 503 of the first arithmetic processing device 500 of the automobile 1001 may generate the session key K_com and supply it to the server device 2000.
  • the server device 2000 and the second arithmetic processing device 600 of the automobile 1001 perform authentication processing using the MAC key K_mac_gen (first key).
  • the server device 2000 and the first arithmetic processing device 500 of the automobile 1001 transmit and receive a session key K_com (third key) by encrypted communication using the ENC key K_enc_gen (second key). This improves the security of the session key K_com (third 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 server device 2000 generates the MAC key K_mac_gen (first key) and the ENC key K_enc_gen (second key) in the production maintenance phase. Thereby, shortening of the processing time in a market run phase can be aimed at.
  • the MAC key K_mac_gen (first key) used for the authentication process between the server apparatus 2000 and the automobile 1001 is stored in the second arithmetic processing apparatus 600 that is a secure element in the automobile 1001. Thereby, the reliability of authentication between the server apparatus 2000 and the automobile 1001 can be improved.
  • the ENC key K_enc_gen (second 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 SIM 1052 has the MAC key K_mac_gen and the ENC key K_enc_gen at an arbitrary timing after the time when the IMSI is stored. And the generated MAC key K_mac_gen and ENC key K_enc_gen may be held.
  • the IMSI may be written in the SIM 1052, and the SIM 1052 may generate and hold the MAC key K_mac_gen and the ENC key K_enc_gen.
  • the SIM 1052 notifies the first arithmetic processing unit 500 of its own IMSI.
  • the identifier notification unit 504 of the first arithmetic processing device 500 notifies the server device 2000 of the IMSI notified from the SIM 1052.
  • IMSI or ICCID is used as an example of a vehicle correspondence identifier
  • the vehicle correspondence identifier is IMSI
  • the SIM 1052 when the SIM 1052 is reused in another automobile 1001, the MAC key K_mac_gen held by the SIM 1052
  • the ENC key K_enc_gen may be used in the other automobile 1001.
  • the second arithmetic processing unit 600 holds the master key Master_Secret, but the second arithmetic processing unit 600 may not hold the master key Master_Secret.
  • the second processing unit 600 may hold the MAC key K_mac_gen and the ENC key K_enc_gen generated externally without holding the master key Master_Secret.
  • the key generation device at the manufacturing factory of the SIM 1052 holds the same master key Master_Secret as the server device 2000.
  • the key generation device generates a MAC key K_mac_gen and an ENC key K_enc_gen using the master key Master_Secret, and writes the generated MAC key K_mac_gen and ENC key K_enc_gen to the SIM 1052.
  • the IMSI or ICCID of the SIM 1052 may be used as the vehicle correspondence identifier.
  • 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 is recorded on a computer-readable recording medium, the program recorded on the recording medium is read into a computer system, and executed by a processor or the like.
  • 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

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

Description

通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム
 本発明は、通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラムに関する。
 本願は、2016年11月18日に、日本に出願された特願2016-224669号に基づき優先権を主張し、その内容をここに援用する。
 従来、自動車は、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年11月8日検索]、インターネット<URL:http://www.st.com/web/en/resource/technical/document/application_note/DM00075575.pdf>
 例えばコネクテッドカー(Connected Car)と称される自動車が外部のサーバ装置と通信を行う際の安全性を向上させることが一つの課題であった。
 本発明は、このような事情を考慮してなされたものであり、自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させることができる、通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラムを提供することを課題とする。
(1)本発明の一態様は、車両とサーバ装置との間の通信を行う通信システムであり、前記サーバ装置と、前記車両に搭載される第1演算処理装置と、前記車両に搭載されるセキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する車両鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、を備え、前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備え、前記サーバ装置は、前記車両と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、前記第1鍵を使用して前記車両の前記車両認証処理部との間で認証処理を行うサーバ認証処理部と、前記第2鍵を使用する暗号通信により、前記車両の前記車両鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、前記第3鍵を使用して、前記車両の前記車両通信部との間で暗号通信を行うサーバ通信部と、を備える、通信システムである。
(2)本発明の一態様は、車両とサーバ装置との間の通信を行う通信システムであり、前記サーバ装置と、前記車両に搭載される第1演算処理装置と、前記車両に搭載されるセキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納する第2車両鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、を備え、前記第1演算処理装置は、前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納する第1車両鍵記憶部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部と、を備え、前記サーバ装置は、前記車両と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、前記第1鍵を使用して前記車両の前記車両認証処理部との間で認証処理を行うサーバ認証処理部と、前記第2鍵を使用する暗号通信により、前記車両の前記車両鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、前記第3鍵を使用して、前記車両の前記車両通信部との間で暗号通信を行うサーバ通信部と、を備える、通信システムである。
(3)本発明の一態様は、上記(1)又は(2)のいずれかの通信システムにおいて、前記第2演算処理装置は、マスタ鍵を格納する車両マスタ鍵記憶部と、前記マスタ鍵と前記車両に対応する車両対応識別子とを使用して前記第1鍵及び前記第2鍵を生成する車両鍵生成部と、をさらに備える通信システムである。
(4)本発明の一態様は、上記(1)から(3)のいずれかの通信システムにおいて、前記サーバ装置は、前記車両と同じマスタ鍵を格納するサーバマスタ鍵記憶部と、前記マスタ鍵と前記車両に対応する車両対応識別子とを使用して前記第1鍵及び前記第2鍵を生成するサーバ鍵生成部と、をさらに備える通信システムである。
(5)本発明の一態様は、上記(3)又は(4)のいずれかの通信システムにおいて、前記第1演算処理装置は、前記車両対応識別子を前記第2演算処理装置と前記サーバ装置とに通知する車両対応識別子通知部、をさらに備える通信システムである。
(6)本発明の一態様は、サーバ装置と通信を行う車両であり、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する車両鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、を備え、前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備える、車両である。
(7)本発明の一態様は、サーバ装置と通信を行う車両であり、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置は、前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納する第2車両鍵記憶部と、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、を備え、前記第1演算処理装置は、前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納する第1車両鍵記憶部と、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部と、を備える、車両である。
(8)本発明の一態様は、車両と通信を行うサーバ装置であり、前記車両と同じ第1鍵及び第2鍵を格納するサーバ鍵記憶部と、前記第1鍵を使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で認証処理を行うサーバ認証処理部と、前記第2鍵を使用する暗号通信により、前記車両の車両鍵送受部との間で第3鍵を送信又は受信するサーバ鍵送受部と、前記第3鍵を使用して、前記車両の車両通信部との間で暗号通信を行うサーバ通信部と、を備えるサーバ装置である。
(9)本発明の一態様は、車両とサーバ装置との間の通信方法であり、前記車両は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置が、前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納し、前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行い、前記第2演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信し、前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う、通信方法である。
(10)本発明の一態様は、車両とサーバ装置との間の通信方法であり、前記車両は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、前記第2演算処理装置が、前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納し、前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行い、前記第1演算処理装置が、前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納し、前記第1演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信し、前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う、通信方法である。
(11)本発明の一態様は、サーバ装置と通信を行う車両に備わる、セキュアエレメントである第2コンピュータに、前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納し、前記第1鍵を使用して前記サーバ装置との間で認証処理を行い、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する、処理を実現させ、前記車両に備わる第1コンピュータに、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う処理を実現させるコンピュータプログラムである。
(12)本発明の一態様は、サーバ装置と通信を行う車両に備わる、セキュアエレメントである第2コンピュータに、前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納し、前記第1鍵を使用して前記サーバ装置との間で認証処理を行う、処理を実現させ、前記車両に備わる第1コンピュータに、前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納し、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信し、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う、処理を実現させるコンピュータプログラムである。
(13)本発明の一態様は、車両と通信を行うサーバ装置のコンピュータに、前記車両と同じ第1鍵及び第2鍵を格納し、前記第1鍵を使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で認証処理を行い、前記第2鍵を使用する暗号通信により、前記車両の車両鍵送受部との間で第3鍵を送信又は受信し、前記第3鍵を使用して、前記車両の車両通信部との間で暗号通信を行う、処理を実現させるコンピュータプログラムである。
 本発明によれば、自動車等の車両が外部のサーバ装置と通信を行う際の安全性を向上させることができるという効果が得られる。
一実施形態に係る通信システム及び自動車1001の構成例を示す図である。 一実施形態に係るサーバ装置2000の構成例を示す図である。 一実施形態に係るインフォテイメント機器1040のハードウェア構成例を示すブロック図である。 一実施形態に係るTCU1050のハードウェア構成例を示すブロック図である。 一実施形態に係る第1演算処理装置500の機能構成例を示す図である。 一実施形態に係る第2演算処理装置600の機能構成例を示す図である。 一実施形態に係るインフォテイメント機器1040の他のハードウェア構成例を示すブロック図である。 一実施形態に係る通信方法の例1を示すシーケンスチャートである。 一実施形態に係る通信方法の例2を示すシーケンスチャートである。 一実施形態に係る通信方法の例3を示すシーケンスチャートである。 一実施形態に係る通信方法の例4を示すシーケンスチャートである。
 以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
 図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と、鍵送受部503と、識別子通知部504とを備える。通信部501は、第1演算処理装置500の外部の装置との間で通信を行う。記憶部502は、データを記憶する。鍵送受部503は、サーバ装置2000との間で鍵の送信又は受信を行う。識別子通知部504は、車両対応識別子の通知を行う。
 本実施形態では、自動車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では、第1演算処理装置および第2演算処理装置に、図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と通信を行う。
[車両対応識別子の構成例]
 本実施形態に係る車両対応識別子の構成例を説明する。車両対応識別子は、自動車1001に対応する識別子である。
(車両対応識別子の構成例1)
 車両対応識別子の構成例1では、車両対応識別子は、自動車1001の車両識別番号(Vehicle Identification Number:VIN)を使用して構成される。車両対応識別子は、車両識別番号であってもよく、又は、車両識別番号と他の情報とから構成される情報であってもよい。車両識別番号(VIN)については、例えば非特許文献2に記載されている。
(車両対応識別子の構成例2)
 車両対応識別子の構成例2では、車両対応識別子は、自動車1001に搭載されるSIM1052に格納されるIMSI(International Mobile Subscriber Identity)又はICCID(Integrated Circuit Card ID)を使用して構成される。車両対応識別子は、IMSIであってもよく、若しくは、IMSIと他の情報とから構成される情報であってもよい。又は、車両対応識別子は、ICCIDであってもよく、若しくは、ICCIDと他の情報とから構成される情報であってもよい。例えば、車両対応識別子は、IMSIとICCIDと車両識別番号とのうち複数を含む情報であってもよい。
(車両対応識別子の構成例3)
 車両対応識別子の構成例3では、車両対応識別子は、自動車1001に搭載される機器(車載機器)の識別情報(車載機器識別情報)を使用して構成される。車両対応識別子に使用される車載機器識別情報として、例えば、通信モジュール1051の識別情報、TCU1050の識別情報、インフォテイメント機器1040の識別情報、データ保安装置1010の識別情報などの車載機器の車載機器識別情報を適用できる。また、それら各車載機器の車載機器識別情報のうち一つ又は複数の車載機器識別情報を使用して車両対応識別子が構成されてもよい。車両対応識別子は、車載機器識別情報であってもよく、又は、車載機器識別情報と他の情報とから構成される情報であってもよい。例えば、車両対応識別子は、IMSIとICCIDと車両識別番号とのうち一つ又は複数と、車載機器識別情報とを含む情報であってもよい。
[鍵生成方法の例]
 本実施形態に係る鍵生成方法の例を説明する。本実施形態では、鍵の例として、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。MAC鍵K_mac_genは、認証処理に使用される鍵である。ENC鍵K_enc_genは、鍵の送信又は受信における暗号通信に使用される鍵である。本実施形態では、MAC鍵K_mac_genは第1鍵に対応し、ENC鍵K_enc_genは第2鍵に対応する。
 本実施形態では、所定の鍵生成関数を使用して共通鍵を生成する。鍵生成関数の例を以下に説明する。
(鍵生成関数の例1)
 共通鍵=ダイジェスト(Master_Secret、V_ID、Key_ID(Nk))
 但し、Master_Secretはマスタ鍵である。V_IDは車両対応識別子である。Key_ID(Nk)は鍵種別識別子である。Nkは鍵の種別を表す変数である。ダイジェスト(Master_Secret、V_ID、Key_ID(Nk))は、マスタ鍵Master_Secretと車両対応識別子V_IDと鍵種別識別子Key_ID(Nk)とから生成されるダイジェスト値である。ダイジェスト値として、例えば、ハッシュ(hash)関数により算出される値、又は、排他的論理和演算により算出される値などが挙げられる。例えば、共通鍵は、マスタ鍵Master_Secretと車両対応識別子V_IDと鍵種別識別子Key_ID(Nk)とを入力値に使用して算出されるハッシュ関数値である。
 鍵種別識別子Key_ID(Nk)の値が異なれば、ダイジェスト値は異なる。鍵種別識別子Key_ID(Nk)の値を変えることによって、同じマスタ鍵Master_Secretと車両対応識別子V_IDとから、異なる共通鍵を生成することができる。例えば、MAC鍵の鍵種別識別子をKey_ID(mac)とし、ENC鍵の鍵種別識別子をKey_ID(enc)とする。この場合、マスタ鍵Master_Secretと、車両対応識別子V_IDと、鍵種別識別子Key_ID(mac),Key_ID(enc)とを使用して、
 MAC鍵K_mac_gen=ダイジェスト(Master_Secret、V_ID、Key_ID(mac))、
 ENC鍵K_enc_gen=ダイジェスト(Master_Secret、V_ID、Key_ID(enc))、
により、MAC鍵K_mac_genとENC鍵K_enc_genとを異なる鍵として生成することができる。
(鍵生成関数の例2)
 鍵生成関数の例2では、共通鍵としてCMAC(Cipher-based Message Authentication Code)を生成する。
 共通鍵=CMAC(Master_Secret;V_ID、Key_ID(Nk))
 但し、CMAC(A;B)において、鍵「A」はCMACの生成に使用される鍵であり、データ「B」はCMACの生成対象のデータである。これにより、鍵生成関数の例2では、共通鍵は、鍵「A」を使用して生成される「データ「B」のCMAC」である。CMAC(Master_Secret;V_ID、Key_ID(Nk))において、マスタ鍵Master_SecretはCMACの生成に使用される鍵(鍵「A」)であり、車両対応識別子V_IDと鍵種別識別子Key_ID(Nk)との連結データはCMACの生成対象のデータ(データ「B」)である。これにより、鍵生成関数の例2では、共通鍵は、マスタ鍵Master_Secretを使用して生成される「車両対応識別子V_IDと鍵種別識別子Key_ID(Nk)との連結データ、のCMAC」である。
 鍵生成関数の例2において、鍵種別識別子Key_ID(Nk)の値が異なればCMACは異なる。このため、鍵生成関数の例2においても、鍵生成関数の例1と同様に、鍵種別識別子Key_ID(Nk)の値を変えることによって、同じマスタ鍵Master_Secretと車両対応識別子V_IDとから、異なる共通鍵を生成することができる。
[通信方法の例]
 次に本実施形態に係る通信方法の例を説明する。なお、以下の通信方法の例の説明では、車両対応識別子の一例として車両識別番号を使用する。自動車1001の車両対応識別子は、該自動車1001の車両識別番号VINである。
 また、サーバ装置2000と第1演算処理装置500との間の通信路として、暗号化通信路が使用されてもよい。例えば、サーバ装置2000と第1演算処理装置500は、暗号化通信路の一例として、https(hypertext transfer protocol secure)通信を行ってもよい。また、サーバ装置2000と第1演算処理装置500は、VPN回線等の専用回線を使用して通信を行ってもよい。
<通信方法の例1>
 図8を参照して本実施形態に係る通信方法の例1を説明する。図8は、本実施形態に係る通信方法の例1を示すシーケンスチャートである。
 図8において、サーバ装置2000は、マスタ鍵Master_Secretを予め記憶部12に格納する。第2演算処理装置600は、マスタ鍵Master_Secretを予め記憶部602に格納する。サーバ装置2000が記憶部12に格納するマスタ鍵Master_Secretと、第2演算処理装置600が記憶部602に格納するマスタ鍵Master_Secretとは、同じである。記憶部12はサーバマスタ鍵記憶部に対応する。記憶部602は車両マスタ鍵記憶部に対応する。
 第2演算処理装置600の一例としてのSIM1052には、例えば、SIM1052の製造工場でマスタ鍵Master_SecretがSIM1052に格納される。又は、自動車1001、通信モジュール1051若しくはTCU1050の製造工場などで、マスタ鍵Master_SecretがSIM1052に格納されてもよい。
 通信方法の例1は、自動車1001の生産又は保守の段階(生産保守フェーズ)と、自動車1001の一般の走行の段階(市場走行フェーズ)とから構成される。
(生産保守フェーズ)
 通信方法の例1の生産保守フェーズを説明する。生産保守フェーズは、自動車製造会社での自動車1001の生産時、又は、自動車整備工場や自動車販売店等での自動車1001の保守時に実施される。
(ステップS1)第1演算処理装置500は、自動車1001の車両識別番号VINを取得する。自動車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の識別子通知部504は、自動車1001の車両識別番号VINを第2演算処理装置600に通知する。
(ステップS3)第2演算処理装置600の鍵生成部601は、記憶部602に格納するマスタ鍵Master_Secretと、第1演算処理装置500から通知された自動車1001の車両識別番号VINと、鍵種別識別子Key_ID(mac),Key_ID(enc)とを使用して、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。この鍵生成方法には、上述した鍵生成方法の例が適用される。鍵生成関数は、予め、鍵生成部601に設定される。鍵種別識別子Key_ID(mac),Key_ID(enc)は、予め、鍵生成部601に設定される。鍵生成部601は車両鍵生成部に対応する。
 鍵生成部601は、鍵生成関数の一例として鍵生成関数の例1「共通鍵=ダイジェスト(Master_Secret、V_ID、Key_ID(Nk))」を使用して、
 MAC鍵K_mac_gen=ダイジェスト(Master_Secret、VIN、Key_ID(mac))、
 ENC鍵K_enc_gen=ダイジェスト(Master_Secret、VIN、Key_ID(enc))、
により、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。ここでは、車両対応識別子V_IDは自動車1001の車両識別番号VINである。また、ダイジェスト値は、その一例として、ハッシュ関数により算出される値である。
 記憶部602は、MAC鍵K_mac_genとENC鍵K_enc_genとを格納する。通信方法の例1では、記憶部602は車両鍵記憶部に対応する。
 なお、第2演算処理装置600は、MAC鍵K_mac_genとENC鍵K_enc_genとを生成した後に、記憶部602からマスタ鍵Master_Secretを削除してもよい。これにより、マスタ鍵Master_Secretが漏洩する可能性を低減することができる。
 以上が通信方法の例1の生産保守フェーズの説明である。
(市場走行フェーズ)
 通信方法の例1の市場走行フェーズを説明する。市場走行フェーズは、自動車1001の一般の走行の段階において、例えば、自動車1001のエンジン始動時や、自動車1001とサーバ装置2000との通信の開始時などに実施される。
(ステップS11)第1演算処理装置500は、自動車1001の車両識別番号VINとチャレンジ(乱数c)とをサーバ装置2000に送信する。第1演算処理装置500は、乱数cを発生し、該乱数cをチャレンジに使用する。第1演算処理装置500は、該チャレンジ(乱数c)を保持しておく。
(ステップS12)サーバ装置2000の鍵生成部15は、記憶部12に格納するマスタ鍵Master_Secretと、第1演算処理装置500から受信した自動車1001の車両識別番号VINと、鍵種別識別子Key_ID(mac),Key_ID(enc)とを使用して、MAC鍵K_mac_genとENC鍵K_enc_genとを生成する。この鍵生成方法は、上記したステップS3における第2演算処理装置600の鍵生成部601の鍵生成方法と同じである。鍵生成関数は、予め、鍵生成部15に設定される。鍵種別識別子Key_ID(mac),Key_ID(enc)は、予め、鍵生成部15に設定される。鍵生成部15はサーバ鍵生成部に対応する。
 記憶部12は、MAC鍵K_mac_genとENC鍵K_enc_genとを自動車1001の車両識別番号VINに対応付けて格納する。記憶部12はサーバ鍵記憶部に対応する。
(ステップS13)サーバ装置2000の認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genと、第1演算処理装置500から受信したチャレンジ(乱数c)とを使用して、レスポンスK_mac_gen(乱数c)を生成する。このレスポンス生成方法は、予め、認証処理部18に設定される。レスポンスK_mac_gen(乱数c)は、本実施形態に係る一例として、MAC鍵K_mac_genで乱数cを暗号化した暗号化データである。
 なお、レスポンスK_mac_gen(乱数c)は、本実施形態に係る一例として、CMAC(K_mac_gen;乱数c)、つまり、MAC鍵K_mac_genを使用して生成される「乱数cのCMAC」であってもよい。
(ステップS14)サーバ装置2000の認証処理部18は、レスポンスK_mac_gen(乱数c)とチャレンジ(乱数s)とを自動車1001の第1演算処理装置500に送信する。認証処理部18は、乱数sを発生し、該乱数sをチャレンジに使用する。認証処理部18は、該チャレンジ(乱数s)を保持しておく。
(ステップS15)第1演算処理装置500は、サーバ装置2000に送信したチャレンジ(乱数c)と、サーバ装置2000から受信したレスポンスK_mac_gen(乱数c)及びチャレンジ(乱数s)とを第2演算処理装置600に送信する。
(ステップS16)第2演算処理装置600の認証処理部604は、第1演算処理装置500から受信したレスポンスK_mac_gen(乱数c)の検証を行う。このレスポンス検証方法として、サーバ装置2000の認証処理部18におけるレスポンス生成方法に対応する方法が、予め、認証処理部604に設定される。レスポンスK_mac_gen(乱数c)の検証において、認証処理部604は、第1演算処理装置500から受信したチャレンジ(乱数c)と、記憶部602に格納されるMAC鍵K_mac_genと、を使用する。
 例えば、レスポンスK_mac_gen(乱数c)がMAC鍵K_mac_genによる乱数cの暗号化データである場合、認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genを使用して、第1演算処理装置500から受信したチャレンジ(乱数c)を暗号化し、該暗号化により生成した暗号化データとレスポンスK_mac_gen(乱数c)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数c)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数c)の検証が不合格である。
 なお、レスポンスK_mac_gen(乱数c)がMAC鍵K_mac_genによる乱数cの暗号化データである場合の他の検証方法として、認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genを使用して、第1演算処理装置500から受信したレスポンスK_mac_gen(乱数c)を復号し、該復号の結果と第1演算処理装置500から受信したチャレンジ(乱数c)とを比較してもよい。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数c)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数c)の検証が不合格である。
 例えば、レスポンスK_mac_gen(乱数c)がCMAC(K_mac_gen;乱数c)である場合、認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genを使用して、第1演算処理装置500から受信したチャレンジ(乱数c)のCMACを生成し、生成したCMACとレスポンスK_mac_gen(乱数c)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数c)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数c)の検証が不合格である。
 レスポンスK_mac_gen(乱数c)の検証が合格である場合には、ステップS17に進む。一方、レスポンスK_mac_gen(乱数c)の検証が不合格である場合には、図8の処理を終了する。レスポンスK_mac_gen(乱数c)の検証が不合格である場合には、第2演算処理装置600は所定のエラー処理を実行してもよい。
(ステップS17)第2演算処理装置600の認証処理部604は、記憶部602に格納されるMAC鍵K_mac_genと、第1演算処理装置500から受信したチャレンジ(乱数s)とを使用して、レスポンスK_mac_gen(乱数s)を生成する。このレスポンス生成方法は、予め、認証処理部604に設定される。レスポンスK_mac_gen(乱数s)は、本実施形態に係る一例として、MAC鍵K_mac_genで乱数sを暗号化した暗号化データである。
 なお、レスポンスK_mac_gen(乱数s)は、本実施形態に係る一例として、CMAC(K_mac_gen;乱数s)、つまり、MAC鍵K_mac_genを使用して生成される「乱数sのCMAC」であってもよい。
(ステップS18)第2演算処理装置600の認証処理部604は、レスポンスK_mac_gen(乱数s)を第1演算処理装置500に送信する。
(ステップS19)第1演算処理装置500は、第2演算処理装置600から受信したレスポンスK_mac_gen(乱数s)をサーバ装置2000に送信する。
(ステップS20)サーバ装置2000の認証処理部18は、自動車1001の第1演算処理装置500から受信したレスポンスK_mac_gen(乱数s)の検証を行う。このレスポンス検証方法として、自動車1001の第2演算処理装置600の認証処理部604におけるレスポンス生成方法に対応する方法が、予め、認証処理部18に設定される。レスポンスK_mac_gen(乱数s)の検証において、認証処理部18は、自動車1001の第1演算処理装置500に送信したチャレンジ(乱数s)と、記憶部12に格納されるMAC鍵K_mac_genと、を使用する。
 例えば、レスポンスK_mac_gen(乱数s)がMAC鍵K_mac_genによる乱数sの暗号化データである場合、認証処理部18は次のように検証を行う。すなわち、認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genを使用して、自動車1001の第1演算処理装置500に送信したチャレンジ(乱数s)を暗号化し、該暗号化により生成した暗号化データとレスポンスK_mac_gen(乱数s)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数s)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数s)の検証が不合格である。
 なお、レスポンスK_mac_gen(乱数s)がMAC鍵K_mac_genによる乱数sの暗号化データである場合の他の検証方法として、認証処理部18は次のように検証を行う。すなわち、認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genを使用して、自動車1001の第1演算処理装置500から受信したレスポンスK_mac_gen(乱数s)を復号し、該復号の結果と第1演算処理装置500に送信したチャレンジ(乱数s)とを比較してもよい。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数s)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数s)の検証が不合格である。
 例えば、レスポンスK_mac_gen(乱数s)がCMAC(K_mac_gen;乱数s)である場合、認証処理部18は次のように検証を行う。すなわち、認証処理部18は、記憶部12に格納されるMAC鍵K_mac_genを使用して、自動車1001の第1演算処理装置500に送信したチャレンジ(乱数s)のCMACを生成し、生成したCMACとレスポンスK_mac_gen(乱数s)とを比較する。この比較の結果、両者が一致する場合にはレスポンスK_mac_gen(乱数s)の検証が合格であり、両者が不一致の場合にはレスポンスK_mac_gen(乱数s)の検証が不合格である。
 レスポンスK_mac_gen(乱数s)の検証が合格である場合には、ステップS21に進む。一方、レスポンスK_mac_gen(乱数s)の検証が不合格である場合には、図8の処理を終了する。レスポンスK_mac_gen(乱数s)の検証が不合格である場合には、サーバ装置2000は所定のエラー処理を実行してもよい。
 サーバ装置2000の認証処理部18はサーバ認証処理部に対応する。自動車1001の第2演算処理装置600の認証処理部604は車両認証処理部に対応する。
(ステップS21)サーバ装置2000の鍵送受部16は、セッション鍵K_comを生成する。例えば、鍵送受部16は、乱数を発生し、該乱数に基づいてセッション鍵K_comを生成してもよい。記憶部12は、セッション鍵K_comを自動車1001の車両識別番号VINに対応付けて格納する。セッション鍵K_comは第3鍵に対応する。
(ステップS22)サーバ装置2000の鍵送受部16は、記憶部12に格納されるENC鍵K_enc_genを使用してセッション鍵K_comを暗号化し、暗号化セッション鍵K_enc_gen(K_com)を生成する。鍵送受部16は、暗号化セッション鍵K_enc_gen(K_com)を自動車1001の第1演算処理装置500に送信する。
(ステップS23)第1演算処理装置500は、サーバ装置2000から受信した暗号化セッション鍵K_enc_gen(K_com)を第2演算処理装置600に送信する。
(ステップS24)第2演算処理装置600の鍵送受部603は、第1演算処理装置500から受信した暗号化セッション鍵K_enc_gen(K_com)を、記憶部602に格納されるENC鍵K_enc_genで復号する。この復号の結果としてセッション鍵K_comが取得される。これにより、サーバ装置2000と自動車1001とは同じセッション鍵K_comを保持する。
(ステップS25)第2演算処理装置600の鍵送受部603は、セッション鍵K_comを第1演算処理装置500に送信する。第1演算処理装置500の記憶部502は、第2演算処理装置600から受信したセッション鍵K_comを格納する。
 通信方法の例1では、自動車1001の第2演算処理装置600の鍵送受部603は車両鍵送受部に対応する。サーバ装置2000の鍵送受部16はサーバ鍵送受部に対応する。
(ステップS26)サーバ装置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を使用した暗号通信路が構築される。
 サーバ装置2000の通信部11は、サーバ通信部に対応する。自動車1001の第1演算処理装置500の通信部501は、車両通信部に対応する。
 なお、自動車1001の第2演算処理装置600の鍵送受部603がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
 以上が通信方法の例1の市場走行フェーズの説明である。
 上述した通信方法の例1によれば、サーバ装置2000と自動車1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行い、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と自動車1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、自動車1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
 また、サーバ装置2000と自動車1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、自動車1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と自動車1001との間の認証の信頼性を向上させることができる。
<通信方法の例2>
 図9を参照して本実施形態に係る通信方法の例2を説明する。図9は、本実施形態に係る通信方法の例2を示すシーケンスチャートである。図9において図8の各ステップに対応する部分には同一の符号を付している。
 図9において、サーバ装置2000は、マスタ鍵Master_Secretを予め記憶部12に格納する。第2演算処理装置600は、マスタ鍵Master_Secretを予め記憶部602に格納する。サーバ装置2000が記憶部12に格納するマスタ鍵Master_Secretと、第2演算処理装置600が記憶部602に格納するマスタ鍵Master_Secretとは、同じである。記憶部12はサーバマスタ鍵記憶部に対応する。通信方法の例2では、記憶部602は車両マスタ鍵記憶部及び第2車両鍵記憶部に対応する。
 第2演算処理装置600の一例としてのSIM1052には、例えば、SIM1052の製造工場でマスタ鍵Master_Secretが格納される。又は、自動車1001、通信モジュール1051若しくはTCU1050の製造工場などで、マスタ鍵Master_SecretがSIM1052に格納されてもよい。
 通信方法の例2は、通信方法の例1と同様に生産保守フェーズと市場走行フェーズとから構成される。
(生産保守フェーズ)
 通信方法の例2の生産保守フェーズを説明する。通信方法の例2の生産保守フェーズにおいて、ステップS1、ステップS2及びステップS3が実行される。ステップS1、ステップS2及びステップS3は、通信方法の例1と同じである。次いでステップS4が実行される。
(ステップS4)第2演算処理装置600は、ENC鍵K_enc_genを第1演算処理装置500に送信する。第1演算処理装置500の記憶部502は、第2演算処理装置600から受信したENC鍵K_enc_genを格納する。通信方法の例2では、記憶部502は第1車両鍵記憶部に対応する。
 以上が通信方法の例2の生産保守フェーズの説明である。
(市場走行フェーズ)
 通信方法の例2の市場走行フェーズを説明する。通信方法の例2の市場走行フェーズにおいて、ステップS11からステップS22までが実行される。ステップS11からステップS22までは、通信方法の例1と同じである。
(ステップS24a)第1演算処理装置500の鍵送受部503は、サーバ装置2000から受信した暗号化セッション鍵K_enc_gen(K_com)を、記憶部502に格納されるENC鍵K_enc_genで復号する。この復号の結果としてセッション鍵K_comが取得される。これにより、サーバ装置2000と自動車1001とは同じセッション鍵K_comを保持する。第1演算処理装置500の記憶部502は、セッション鍵K_comを格納する。
 通信方法の例2では、自動車1001の第1演算処理装置500の鍵送受部503は車両鍵送受部に対応する。サーバ装置2000の鍵送受部16はサーバ鍵送受部に対応する。
 なお、自動車1001の第1演算処理装置500の鍵送受部503がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
 次いでステップS26が実行される。ステップS26は通信方法の例1と同じである。
 以上が通信方法の例2の市場走行フェーズの説明である。
 上述した通信方法の例2によれば、サーバ装置2000と自動車1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行う。
また、サーバ装置2000と自動車1001の第1演算処理装置500とは、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と自動車1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、自動車1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
 また、サーバ装置2000と自動車1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、自動車1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と自動車1001との間の認証の信頼性を向上させることができる。
 また、サーバ装置2000と自動車1001との間の暗号通信に使用されるENC鍵K_enc_gen(第2鍵)は、自動車1001において第1演算処理装置500で保管される。セキュアエレメントに限定されない第1演算処理装置500は、比較的処理能力の高いCPUを使用することにより、サーバ装置2000と自動車1001との間の暗号通信の通信速度を向上させることができる。
<通信方法の例3>
 図10を参照して本実施形態に係る通信方法の例3を説明する。図10は、本実施形態に係る通信方法の例3を示すシーケンスチャートである。図10において図8の各ステップに対応する部分には同一の符号を付している。
 通信方法の例3は、通信方法の例1と同様に生産保守フェーズと市場走行フェーズとから構成される。通信方法の例3では、生産保守フェーズにおいてサーバ装置2000が鍵を生成する。以下、通信方法の例1と異なる点を主に説明する。
 サーバ装置2000と第2演算処理装置600とは、通信方法の例1と同様に、同じマスタ鍵Master_Secretを予め格納する。
(生産保守フェーズ)
 通信方法の例3の生産保守フェーズを説明する。通信方法の例3の生産保守フェーズにおいて、ステップS1、ステップS2及びステップS3が実行される。ステップS1、ステップS2及びステップS3は、通信方法の例1と同じである。また、ステップS2aが実行される。
(ステップS2a)第1演算処理装置500の識別子通知部504は、自動車1001の車両識別番号VINをサーバ装置2000に送信する。通信方法の例3では、識別子通知部504は車両対応識別子通知部に対応する。
 次いでステップS12が実行される。該ステップS12は、通信方法の例1の市場走行フェーズのステップS12と同じである。サーバ装置2000の記憶部12は、MAC鍵K_mac_genとENC鍵K_enc_genとを自動車1001の車両識別番号VINに対応付けて格納する。
 以上が通信方法の例3の生産保守フェーズの説明である。
(市場走行フェーズ)
 通信方法の例3の市場走行フェーズを説明する。通信方法の例3の市場走行フェーズにおいて、ステップS11及びステップS13からステップS26までが実行される。ステップS11及びステップS13からステップS26までは、通信方法の例1と同じである。
 なお、通信方法の例1と同様に、自動車1001の第2演算処理装置600の鍵送受部603がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
 以上が通信方法の例3の市場走行フェーズの説明である。
 上述した通信方法の例3によれば、サーバ装置2000と自動車1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行い、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と自動車1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、自動車1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
 また、通信方法の例3によれば、サーバ装置2000は生産保守フェーズにおいてMAC鍵K_mac_gen(第1鍵)及びENC鍵K_enc_gen(第2鍵)を生成する。これにより、市場走行フェーズにおける処理時間の短縮を図ることができる。
 また、サーバ装置2000と自動車1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、自動車1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と自動車1001との間の認証の信頼性を向上させることができる。
<通信方法の例4>
 図11を参照して本実施形態に係る通信方法の例4を説明する。図11は、本実施形態に係る通信方法の例4を示すシーケンスチャートである。図11において図9の各ステップに対応する部分には同一の符号を付している。
 通信方法の例4は、通信方法の例2と同様に生産保守フェーズと市場走行フェーズとから構成される。通信方法の例4では、通信方法の例3と同様に、生産保守フェーズにおいてサーバ装置2000が鍵を生成する。以下、通信方法の例2と異なる点を主に説明する。
 サーバ装置2000と第2演算処理装置600とは、通信方法の例2と同様に、同じマスタ鍵Master_Secretを予め格納する。
(生産保守フェーズ)
 通信方法の例4の生産保守フェーズを説明する。通信方法の例4の生産保守フェーズにおいて、ステップS1、ステップS2、ステップS3及びステップS4が実行される。ステップS1、ステップS2、ステップS3及びステップS4は、通信方法の例2と同じである。また、ステップS2a及びステップS12が実行される。ステップS2a及びステップS12は、通信方法の例3と同じである。サーバ装置2000の記憶部12は、MAC鍵K_mac_genとENC鍵K_enc_genとを自動車1001の車両識別番号VINに対応付けて格納する。
 以上が通信方法の例4の生産保守フェーズの説明である。
(市場走行フェーズ)
 通信方法の例4の市場走行フェーズを説明する。通信方法の例4の市場走行フェーズにおいて、ステップS11と、ステップS13からステップS22までと、ステップS24aと、ステップS26とが実行される。ステップS11と、ステップS13からステップS22までと、ステップS26とは、通信方法の例1と同じである。ステップS24aは、通信方法の例2と同じである。
 なお、通信方法の例2と同様に、自動車1001の第1演算処理装置500の鍵送受部503がセッション鍵K_comを生成してサーバ装置2000に供給してもよい。
 以上が通信方法の例4の市場走行フェーズの説明である。
 上述した通信方法の例4によれば、サーバ装置2000と自動車1001の第2演算処理装置600とは、MAC鍵K_mac_gen(第1鍵)を使用して認証処理を行う。
 また、サーバ装置2000と自動車1001の第1演算処理装置500とは、ENC鍵K_enc_gen(第2鍵)を使用する暗号通信によりセッション鍵K_com(第3鍵)を送受する。これにより、サーバ装置2000と自動車1001の第1演算処理装置500との間の暗号通信に使用されるセッション鍵K_com(第3鍵)の安全性が向上する。このことは、自動車1001が外部のサーバ装置2000と通信を行う際の安全性を向上させる効果を奏する。
 また、通信方法の例4によれば、サーバ装置2000は生産保守フェーズにおいてMAC鍵K_mac_gen(第1鍵)及びENC鍵K_enc_gen(第2鍵)を生成する。これにより、市場走行フェーズにおける処理時間の短縮を図ることができる。
 また、サーバ装置2000と自動車1001との間の認証処理に使用されるMAC鍵K_mac_gen(第1鍵)は、自動車1001においてセキュアエレメントである第2演算処理装置600で保管される。これにより、サーバ装置2000と自動車1001との間の認証の信頼性を向上させることができる。
 また、サーバ装置2000と自動車1001との間の暗号通信に使用されるENC鍵K_enc_gen(第2鍵)は、自動車1001において第1演算処理装置500で保管される。セキュアエレメントに限定されない第1演算処理装置500には、比較的処理能力の高いCPUを使用することにより、サーバ装置2000と自動車1001との間の暗号通信の通信速度を向上させることができる。
 以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
 車両対応識別子の一例としてIMSI又はICCIDを使用する場合、例えば車両対応識別子がIMSIである場合には、SIM1052は、IMSIを格納した時点以降であれば任意のタイミングで、MAC鍵K_mac_genとENC鍵K_enc_genとを生成し、生成したMAC鍵K_mac_genとENC鍵K_enc_genとを保持してもよい。例えば、SIM1052の製造時に、該SIM1052にIMSIを書き込んで、該SIM1052がMAC鍵K_mac_genとENC鍵K_enc_genとを生成して保持してもよい。
 また、車両対応識別子の一例としてIMSI又はICCIDを使用する場合、例えば車両対応識別子がIMSIである場合には、SIM1052は、自己のIMSIを第1演算処理装置500に通知する。第1演算処理装置500の識別子通知部504は、SIM1052から通知されたIMSIをサーバ装置2000に通知する。
 また、車両対応識別子の一例としてIMSI又はICCIDを使用する場合、例えば車両対応識別子がIMSIである場合においてSIM1052が別の自動車1001で再利用されるときには、該SIM1052が保持しているMAC鍵K_mac_genとENC鍵K_enc_genとが、該別の自動車1001で使用されてもよい。
 なお、上述した実施形態では、第2演算処理装置600がマスタ鍵Master_Secretを保持するが、第2演算処理装置600はマスタ鍵Master_Secretを保持しなくてもよい。第2演算処理装置600は、マスタ鍵Master_Secretを保持せず、外部で生成されたMAC鍵K_mac_genとENC鍵K_enc_genとを保持してもよい。例えば、第2演算処理装置600としてSIM1052を使用する場合、SIM1052の製造工場の鍵生成装置が、サーバ装置2000と同じマスタ鍵Master_Secretを保持する。該鍵生成装置は、該マスタ鍵Master_Secretを使用してMAC鍵K_mac_genとENC鍵K_enc_genとを生成し、生成したMAC鍵K_mac_genとENC鍵K_enc_genとをSIM1052に書き込む。この場合、車両対応識別子には、SIM1052のIMSI又はICCIDが使用されてもよい。
 なお、第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,503,603…鍵送受部、18,604…認証処理部、110,210…CPU、116,216…インタフェース部、118…タッチパネル、120…マイクロフォン、122…スピーカ、504…識別子通知部、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 (13)

  1.  車両とサーバ装置との間の通信を行う通信システムであり、
     前記サーバ装置と、前記車両に搭載される第1演算処理装置と、前記車両に搭載されるセキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置は、
     前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する車両鍵記憶部と、
     前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、
     前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、を備え、
     前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備え、
     前記サーバ装置は、
     前記車両と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、
     前記第1鍵を使用して前記車両の前記車両認証処理部との間で認証処理を行うサーバ認証処理部と、
     前記第2鍵を使用する暗号通信により、前記車両の前記車両鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、
     前記第3鍵を使用して、前記車両の前記車両通信部との間で暗号通信を行うサーバ通信部と、を備える、
     通信システム。
  2.  車両とサーバ装置との間の通信を行う通信システムであり、
     前記サーバ装置と、前記車両に搭載される第1演算処理装置と、前記車両に搭載されるセキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置は、
     前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納する第2車両鍵記憶部と、
     前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、を備え、
     前記第1演算処理装置は、
     前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納する第1車両鍵記憶部と、
     前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、
     前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部と、を備え、
     前記サーバ装置は、
     前記車両と同じ前記第1鍵及び前記第2鍵を格納するサーバ鍵記憶部と、
     前記第1鍵を使用して前記車両の前記車両認証処理部との間で認証処理を行うサーバ認証処理部と、
     前記第2鍵を使用する暗号通信により、前記車両の前記車両鍵送受部との間で前記第3鍵を送信又は受信するサーバ鍵送受部と、
     前記第3鍵を使用して、前記車両の前記車両通信部との間で暗号通信を行うサーバ通信部と、を備える、
     通信システム。
  3.  前記第2演算処理装置は、
     マスタ鍵を格納する車両マスタ鍵記憶部と、
     前記マスタ鍵と前記車両に対応する車両対応識別子とを使用して前記第1鍵及び前記第2鍵を生成する車両鍵生成部と、
     をさらに備える請求項1又は2のいずれか1項に記載の通信システム。
  4.  前記サーバ装置は、
     前記車両と同じマスタ鍵を格納するサーバマスタ鍵記憶部と、
     前記マスタ鍵と前記車両に対応する車両対応識別子とを使用して前記第1鍵及び前記第2鍵を生成するサーバ鍵生成部と、
     をさらに備える請求項1から3のいずれか1項に記載の通信システム。
  5.  前記第1演算処理装置は、前記車両対応識別子を前記第2演算処理装置と前記サーバ装置とに通知する車両対応識別子通知部、
     をさらに備える請求項3又は4のいずれか1項に記載の通信システム。
  6.  サーバ装置と通信を行う車両であり、
     第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置は、
     前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納する車両鍵記憶部と、
     前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、
     前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、を備え、
     前記第1演算処理装置は、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部を備える、
     車両。
  7.  サーバ装置と通信を行う車両であり、
     第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置は、
     前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納する第2車両鍵記憶部と、
     前記第1鍵を使用して前記サーバ装置との間で認証処理を行う車両認証処理部と、を備え、
     前記第1演算処理装置は、
     前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納する第1車両鍵記憶部と、
     前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する車両鍵送受部と、
     前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う車両通信部と、を備える、
     車両。
  8.  車両と通信を行うサーバ装置であり、
     前記車両と同じ第1鍵及び第2鍵を格納するサーバ鍵記憶部と、
     前記第1鍵を使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で認証処理を行うサーバ認証処理部と、
     前記第2鍵を使用する暗号通信により、前記車両の車両鍵送受部との間で第3鍵を送信又は受信するサーバ鍵送受部と、
     前記第3鍵を使用して、前記車両の車両通信部との間で暗号通信を行うサーバ通信部と、
     を備えるサーバ装置。
  9.  車両とサーバ装置との間の通信方法であり、
     前記車両は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置が、前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納し、
     前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行い、
     前記第2演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信し、
     前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う、
     通信方法。
  10.  車両とサーバ装置との間の通信方法であり、
     前記車両は、第1演算処理装置と、セキュアエレメントである第2演算処理装置とを備え、
     前記第2演算処理装置が、前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納し、
     前記第2演算処理装置が、前記第1鍵を使用して前記サーバ装置との間で認証処理を行い、
     前記第1演算処理装置が、前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納し、
     前記第1演算処理装置が、前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信し、
     前記第1演算処理装置が、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う、
     通信方法。
  11.  サーバ装置と通信を行う車両に備わる、セキュアエレメントである第2コンピュータに、
     前記車両と前記サーバ装置との間の通信に使用される第1鍵及び第2鍵を格納し、
     前記第1鍵を使用して前記サーバ装置との間で認証処理を行い、
     前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信する、処理を実現させ、
     前記車両に備わる第1コンピュータに、前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う処理を実現させるコンピュータプログラム。
  12.  サーバ装置と通信を行う車両に備わる、セキュアエレメントである第2コンピュータに、
     前記車両と前記サーバ装置との間の通信に使用される第1鍵を格納し、
     前記第1鍵を使用して前記サーバ装置との間で認証処理を行う、処理を実現させ、
     前記車両に備わる第1コンピュータに、
     前記車両と前記サーバ装置との間の通信に使用される第2鍵を格納し、
     前記第2鍵を使用する暗号通信により、前記サーバ装置との間で第3鍵を送信又は受信し、
     前記第3鍵を使用して、前記サーバ装置との間で暗号通信を行う、処理を実現させるコンピュータプログラム。
  13.  車両と通信を行うサーバ装置のコンピュータに、
     前記車両と同じ第1鍵及び第2鍵を格納し、
     前記第1鍵を使用して前記車両のセキュアエレメントである第2演算処理装置の車両認証処理部との間で認証処理を行い、
     前記第2鍵を使用する暗号通信により、前記車両の車両鍵送受部との間で第3鍵を送信又は受信し、
     前記第3鍵を使用して、前記車両の車両通信部との間で暗号通信を行う、
     処理を実現させるコンピュータプログラム。
PCT/JP2017/027040 2016-11-18 2017-07-26 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム WO2018092356A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/315,031 US11212080B2 (en) 2016-11-18 2017-07-26 Communication system, vehicle, server device, communication method, and computer program
CN201780042182.0A CN109479002A (zh) 2016-11-18 2017-07-26 通信系统、车辆、服务器装置、通信方法以及计算机程序
EP17872635.2A EP3544224A4 (en) 2016-11-18 2017-07-26 COMMUNICATION SYSTEM, VEHICLE, SERVER DEVICE, COMMUNICATION METHOD, AND COMPUTER PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016224669A JP6288219B1 (ja) 2016-11-18 2016-11-18 通信システム
JP2016-224669 2016-11-18

Publications (1)

Publication Number Publication Date
WO2018092356A1 true WO2018092356A1 (ja) 2018-05-24

Family

ID=61558009

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US11212080B2 (ja)
EP (1) EP3544224A4 (ja)
JP (1) JP6288219B1 (ja)
CN (1) CN109479002A (ja)
WO (1) WO2018092356A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110383755B (zh) * 2017-01-05 2022-04-19 皇家飞利浦有限公司 网络设备和可信第三方设备
JP6731887B2 (ja) * 2017-06-27 2020-07-29 Kddi株式会社 保守システム及び保守方法
JP6696942B2 (ja) * 2017-08-14 2020-05-20 Kddi株式会社 車両保安システム及び車両保安方法
US10805276B2 (en) * 2017-09-05 2020-10-13 Comodo Security Solutions, Inc. Device and methods for safe control of vehicle equipment secured by encrypted channel
DE102019212959B3 (de) * 2019-08-28 2021-03-04 Volkswagen Aktiengesellschaft Verfahren zur geschützten Kommunikation eines Fahrzeugs mit einem externen Server, Vorrichtung zur Durchführung der Schlüsselableitung bei dem Verfahren sowie Fahrzeug
KR102645542B1 (ko) * 2019-11-06 2024-03-11 한국전자통신연구원 차량 내부 네트워크 장치 및 방법
US11374740B2 (en) * 2020-03-13 2022-06-28 Infineon Technologies Ag Controller area network key exchange
JP2022035606A (ja) * 2020-08-21 2022-03-04 株式会社東海理化電機製作所 システムおよび制御装置
JP7404210B2 (ja) * 2020-09-28 2023-12-25 株式会社東海理化電機製作所 システム、及びプログラム
CN117254910B (zh) * 2023-11-15 2024-01-26 合肥工业大学 车载自组网络下基于量子随机数的高效组密钥分发方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059323A (ja) * 1998-02-13 2000-02-25 Matsushita Electric Ind Co Ltd デジタルavデータ送信ユニット、デジタルavデータ受信ユニット及び、デジタルavデータ送受信システム、媒体
WO2013005730A1 (ja) * 2011-07-06 2013-01-10 日立オートモティブシステムズ株式会社 車載ネットワークシステム
JP2016072675A (ja) * 2014-09-26 2016-05-09 Kddi株式会社 管理装置、車両、管理方法およびコンピュータプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003249932A (ja) * 1998-02-13 2003-09-05 Matsushita Electric Ind Co Ltd デジタルavデータ送信ユニット、デジタルavデータ受信ユニット及び、デジタルavデータ送受信システム、媒体
US20030147534A1 (en) 2002-02-06 2003-08-07 Ablay Sewim F. Method and apparatus for in-vehicle device authentication and secure data delivery in a distributed vehicle network
JP4153283B2 (ja) * 2002-10-16 2008-09-24 アルプス電気株式会社 セキュリティ関連データの取り扱い装置及びその取り扱い方法
JP2005244379A (ja) 2004-02-25 2005-09-08 Nec Commun Syst Ltd Vpnシステム、vpn装置及びそれらに用いる暗号化鍵配布方法
NZ549543A (en) 2004-03-22 2008-06-30 Samsung Electronics Co Ltd Authentication between device and portable storage for digital rights management ( DRM )
JP4707992B2 (ja) 2004-10-22 2011-06-22 富士通株式会社 暗号化通信システム
KR101137340B1 (ko) * 2005-10-18 2012-04-19 엘지전자 주식회사 릴레이 스테이션의 보안 제공 방법
US20080313462A1 (en) * 2007-06-13 2008-12-18 Meiyuan Zhao Apparatus and method for deriving keys for securing peer links
US9464905B2 (en) * 2010-06-25 2016-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Over-the-air vehicle systems updating and associate security protocols
JP5367917B2 (ja) * 2011-01-25 2013-12-11 三洋電機株式会社 車載器
US9003492B2 (en) * 2011-06-21 2015-04-07 Qualcomm Incorporated Secure client authentication and service authorization in a shared communication network
US9439067B2 (en) * 2011-09-12 2016-09-06 George Cherian Systems and methods of performing link setup and authentication
EP2570309A1 (en) 2011-09-16 2013-03-20 Gemalto SA Vehicle providing a secured access to security data
JP5435022B2 (ja) * 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
JP5685211B2 (ja) * 2012-01-31 2015-03-18 株式会社東海理化電機製作所 携帯機登録システム及び携帯機登録方法
CN102833075A (zh) 2012-09-05 2012-12-19 北京市科学技术情报研究所 基于三层叠加式密钥管理技术的身份认证和数字签名方法
JP5939126B2 (ja) * 2012-10-17 2016-06-22 株式会社デンソー 車載装置および車両盗難防止システム
FR2997525B1 (fr) * 2012-10-26 2015-12-04 Inside Secure Procede de fourniture d’un service securise
JP6407521B2 (ja) 2013-11-27 2018-10-17 キヤノンメディカルシステムズ株式会社 診療支援装置
KR20150074414A (ko) * 2013-12-24 2015-07-02 현대자동차주식회사 펌웨어 업그레이드 방법 및 그 시스템
CN107004091B (zh) * 2014-09-26 2021-07-13 英特尔公司 安全地交换车辆传感器信息
US20160127903A1 (en) 2014-11-05 2016-05-05 Qualcomm Incorporated Methods and systems for authentication interoperability
WO2016093368A1 (ja) 2014-12-12 2016-06-16 Kddi株式会社 管理装置、鍵生成装置、車両、メンテナンスツール、管理システム、管理方法、及びコンピュータプログラム
JP6659220B2 (ja) 2015-01-27 2020-03-04 ルネサスエレクトロニクス株式会社 通信装置、半導体装置、プログラムおよび通信システム
CN104724057B (zh) 2015-02-13 2017-01-04 中国第一汽车股份有限公司 一种高安全性的混合动力汽车电子锁止防盗方法
EP3086585B1 (en) * 2015-04-23 2019-12-11 Nxp B.V. Method and system for securing data communicated in a network
JP6365410B2 (ja) * 2015-05-22 2018-08-01 株式会社デンソー 車両用通信システム
KR101877602B1 (ko) * 2015-10-20 2018-07-11 현대자동차주식회사 전기차 전력 전송 시스템의 보안 방법 및 장치
US20170200324A1 (en) * 2016-01-11 2017-07-13 Blackberry Limited Device, method and system for collecting user-based insurance data in vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059323A (ja) * 1998-02-13 2000-02-25 Matsushita Electric Ind Co Ltd デジタルavデータ送信ユニット、デジタルavデータ受信ユニット及び、デジタルavデータ送受信システム、媒体
WO2013005730A1 (ja) * 2011-07-06 2013-01-10 日立オートモティブシステムズ株式会社 車載ネットワークシステム
JP2016072675A (ja) * 2014-09-26 2016-05-09 Kddi株式会社 管理装置、車両、管理方法およびコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIDEAKI KAWABATA ET AL.: "2F4-5 Shasai ECU Muke no Kagi Kanri Hoshiki [Key management framework for automotive ECUs]", SCIS2016 [USB] SCIS2016 2016 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY; 19-22/01/2016, vol. 2F4-5, 22 January 2016 (2016-01-22), pages 1 - 7, XP009515218 *
See also references of EP3544224A4 *

Also Published As

Publication number Publication date
JP6288219B1 (ja) 2018-03-07
EP3544224A4 (en) 2020-03-25
JP2018082373A (ja) 2018-05-24
US11212080B2 (en) 2021-12-28
US20190238325A1 (en) 2019-08-01
EP3544224A1 (en) 2019-09-25
CN109479002A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
JP6288219B1 (ja) 通信システム
US10419220B2 (en) Management device, key generating device, vehicle, maintenance tool, management system, management method, and computer program
JP6260067B1 (ja) 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム
WO2017022821A1 (ja) 管理装置、管理システム、鍵生成装置、鍵生成システム、鍵管理システム、車両、管理方法、鍵生成方法、及びコンピュータプログラム
JP6178390B2 (ja) 管理装置、管理システム、車両、管理方法、及びコンピュータプログラム
JP6731887B2 (ja) 保守システム及び保守方法
WO2018087963A1 (ja) 再利用システム、鍵生成装置、データ保安装置、車載コンピュータ、再利用方法、及びコンピュータプログラム
CN109314640B (zh) 车辆信息收集系统、车载计算机、车辆信息收集装置、车辆信息收集方法以及记录介质
JP6188672B2 (ja) 鍵管理システム
CN108781164B (zh) 通信网络系统、车辆、计数器值通知节点以及计数器值共享方法
WO2017033602A1 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
WO2018029893A1 (ja) データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラム
JP6260068B1 (ja) 保守装置、保守方法、及びコンピュータプログラム
JP6547180B2 (ja) 通信システム
JP6203798B2 (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム
JP6476462B2 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
JP6464466B2 (ja) 保守装置、保守方法、及びコンピュータプログラム
JP6454919B2 (ja) 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム
WO2018131270A1 (ja) 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム
JP2018026874A (ja) データ提供システム及びデータ提供方法
JP6787848B2 (ja) 通信システム及び通信方法
JP2017208731A (ja) 管理システム、管理装置、車載コンピュータ、管理方法、及びコンピュータプログラム
JP6519060B2 (ja) 管理装置、車両、管理方法、及びコンピュータプログラム
JP2017225186A (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム
JP2018142823A (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: 17872635

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017872635

Country of ref document: EP

Effective date: 20190618