KR20220065680A - 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체 - Google Patents

차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체 Download PDF

Info

Publication number
KR20220065680A
KR20220065680A KR1020210150464A KR20210150464A KR20220065680A KR 20220065680 A KR20220065680 A KR 20220065680A KR 1020210150464 A KR1020210150464 A KR 1020210150464A KR 20210150464 A KR20210150464 A KR 20210150464A KR 20220065680 A KR20220065680 A KR 20220065680A
Authority
KR
South Korea
Prior art keywords
authentication information
message
encryption key
received
receiving device
Prior art date
Application number
KR1020210150464A
Other languages
English (en)
Other versions
KR102649908B1 (ko
Inventor
마사히데 반노
Original Assignee
도요타지도샤가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 도요타지도샤가부시키가이샤 filed Critical 도요타지도샤가부시키가이샤
Publication of KR20220065680A publication Critical patent/KR20220065680A/ko
Application granted granted Critical
Publication of KR102649908B1 publication Critical patent/KR102649908B1/ko

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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/0861Generation of secret information including derivation or calculation 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
    • 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/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

복수의 제어 장치가 서로 통신을 행하는 차량 통신 시스템이며, 송신측의 상기 제어 장치인 송신 장치 및 수신측의 상기 제어 장치인 수신 장치는, 암호 키 및 소정의 인증 정보를 기억한 메모리와, 프로세서를 각각 포함한다. 상기 송신 장치의 상기 프로세서는, 상기 송신 장치의 상기 메모리에 기억되어 있는 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고, 암호 키에 이상이 없는 경우, 생성된 상기 제1 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고, 암호 키에 이상이 있는 경우, 상기 소정의 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고, 상기 수신 장치의 상기 프로세서는, 상기 수신 장치의 상기 메모리에 기억되어 있는 암호 키와 상기 송신 장치로부터 수신한 상기 메시지에 기초하여 제2 인증 정보를 생성하고, 상기 송신 장치로부터 수신한 상기 제1 인증 정보와 생성된 상기 제2 인증 정보를 대조하여 상기 메시지를 인증하고, 상기 수신 장치의 기동 후, 상기 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 상기 인증의 결과에 관계없이 수신한 상기 메시지를 접수한다.

Description

차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체 {VEHICLE COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND STORAGE MEDIUM STORING COMMUNICATION PROGRAM}
본 개시는, 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체에 관한 것이다.
일본 특허 공개 제2018-074435호 공보에는, 복수의 ECU가 통신을 행하는 통신 시스템이 개시되어 있다. 당해 통신 시스템에서는, 송신측의 ECU에 있어서, 소지하는 암호 키에 기초하여 메시지로부터 MAC(Message Authentication Code)를 생성하고, 메시지와 생성된 MAC가 송신된다. 한편, 메시지 및 MAC를 수신한 수신측의 ECU에서는, 수신한 메시지와 소지하는 암호 키에 기초하여 검증용 MAC를 생성하고, 수신한 MAC와 생성된 검증용 MAC를 대조하여 메시지의 인증을 행한다.
또한 Specification of Secure Onboard Communication, AUTOSAR, Release R19-11에는, 복수의 ECU가 통신을 행하는 경우의 안전성에 관한 사양이 규정되어 있다. 당해 사양에서는, 다른 암호 키가 사용되는 경우 등 송신측의 ECU에 있어서 암호 키에 이상이 발생한 경우에, 미리 기억되어 있는 소정의 값을 MAC에 사용하는 것이 기재되어 있다.
일본 특허 공개 제2018-074435호 공보의 통신 시스템에 있어서, 송신측의 ECU를 교환하여 암호 키가 갱신되어 있지 않고, 마스터 ECU와는 다른 경우, 송신측의 ECU에 의해 메시지를 암호화하여 송신해도, 수신측의 ECU에서는 메시지를 복호할 수 없다. 이러한 경우, 일본 특허 공개 제2018-074435호 공보의 통신 시스템에 Specification of Secure Onboard Communication, AUTOSAR, Release R19-11의 기술을 적용하여, 일시적인 대체 조치로서, 송신측의 ECU는 소정의 값을 MAC에 적용하여 메시지와 함께 송신하는 것을 생각할 수 있다. 수신측의 ECU에서는, 수신한 MAC와 소정의 MAC가 일치한 경우, 암호 키의 갱신을 요하는 키 이상이라고 검출하여, 일시적으로 메시지를 접수할 수 있다. 그러나 암호 키가 갱신된 후라도, 소정의 MAC에 의해 메시지가 접수된 경우, 암호 키의 갱신을 요하는 키 이상이 발생하였다고 오검출하여, 파기해야 할 메시지를 접수해 버릴 우려가 있다.
본 개시는, 암호 키의 갱신이 행해졌음에도 불구하고, 암호 키의 갱신을 요하는 키 이상이 발생하였다고 오검출하여, 파기해야 할 메시지를 접수하는 것을 억제하는 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체를 제공하는 것을 목적으로 한다.
제1 양태는 차량 통신 시스템이며, 복수의 제어 장치가 서로 통신을 행하는 차량 통신 시스템이며, 송신측의 상기 제어 장치인 송신 장치 및 수신측의 상기 제어 장치인 수신 장치는, 암호 키 및 소정의 인증 정보를 기억한 메모리와, 상기 메모리에 접속된 프로세서를 각각 포함하고, 상기 송신 장치의 상기 프로세서는, 상기 송신 장치의 상기 메모리에 기억되어 있는 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고, 암호 키에 이상이 없는 경우, 생성된 상기 제1 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고, 암호 키에 이상이 있는 경우, 상기 소정의 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고, 상기 수신 장치의 상기 프로세서는, 상기 수신 장치의 상기 메모리에 기억되어 있는 암호 키와 상기 송신 장치로부터 수신한 상기 메시지에 기초하여 제2 인증 정보를 생성하고, 상기 송신 장치로부터 수신한 상기 제1 인증 정보와 생성된 상기 제2 인증 정보를 대조하여 상기 메시지를 인증하고, 상기 수신 장치의 기동 후, 상기 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 상기 인증의 결과에 관계없이 수신한 상기 메시지를 접수한다.
제1 양태의 차량 통신 시스템은, 서로 통신을 행하는 복수의 제어 장치를 포함하여 구성되어 있다. 송신측의 제어 장치인 송신 장치 및 수신측의 제어 장치인 수신 장치는, 각각, 메모리에 암호 키 및 소정의 인증 정보가 기억되어 있다. 송신 장치의 프로세서는, 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고, 암호 키에 이상이 없는 경우, 생성된 제1 인증 정보 및 메시지를 수신 장치로 송신한다. 또한, 송신 장치의 프로세서는, 암호 키에 이상이 있는 경우, 소정의 인증 정보 및 메시지를 수신 장치로 송신한다. 여기서, 「암호 키에 이상이 있는 경우」란, 기억되어 있는 암호 키가 본래 제1 인증 정보를 생성하기 위해 사용하는 암호 키와는 다른 경우이며, 예를 들어 키값이 다른 경우를 말한다.
한편, 수신 장치의 프로세서는, 암호 키와 송신 장치로부터 수신한 메시지에 기초하여 제2 인증 정보를 생성하고, 송신 장치로부터 수신한 제1 인증 정보와 생성된 제2 인증 정보를 대조하여 메시지를 인증한다. 그리고 수신 장치의 프로세서는, 수신 장치의 기동 후, 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 제1 인증 정보와 소정의 인증 정보가 일치하는 경우에, 인증의 결과에 관계없이 수신한 메시지를 접수한다.
당해 차량 통신 시스템에서는, 송신측의 제어 장치를 교환하였을 때에 암호 키의 갱신이 행해지지 않은 경우, 수신 장치는 인증에는 실패한다. 단, 암호 키의 갱신이 행해져 인증에 성공할 때까지는, 수신한 제1 인증 정보와 소정의 인증 정보가 일치하는 한, 인증의 결과에 관계없이 수신한 메시지를 접수한다. 한편, 일단, 암호 키가 갱신되어 인증에 성공한 경우에는, 그 후, 수신한 제1 인증 정보와 소정의 인증 정보가 일치하였다고 해도, 수신한 메시지를 접수하지 않는다. 그 때문에, 당해 차량 통신 시스템에 의하면, 암호 키의 갱신이 행해졌음에도 불구하고, 암호 키의 갱신을 요하는 키 이상이 발생하였다고 오검출하여, 파기해야 할 메시지를 접수하는 것이 억제된다.
제2 양태의 차량 통신 시스템은, 제1 양태의 차량 통신 시스템에 있어서, 상기 수신 장치의 상기 프로세서는, 금회의 수신에 있어서의 상기 인증에 실패하고, 또한 상기 수신 장치의 기동 후, 상기 인증에 한 번이라도 성공한 경우, 수신한 상기 메시지를 파기한다.
제2 양태의 차량 통신 시스템에 의하면, 암호 키의 갱신이 행해진 후의 시큐리티를 확보할 수 있다.
제3 양태의 차량 통신 시스템은, 제1 또는 제2 양태의 차량 통신 시스템에 있어서, 상기 수신 장치의 상기 프로세서는, 상기 인증에 실패하고, 또한 상기 송신 장치로부터 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 불일치하는 경우, 수신한 상기 메시지를 파기한다.
제3 양태의 차량 통신 시스템에 의하면, 암호 키의 갱신을 요하는 키 이상이 발생하지 않은 경우에 메시지를 파기함으로써, 시큐리티를 확보할 수 있다.
제4 양태의 차량 통신 시스템은, 제1 내지 제3 중 어느 한 양태의 차량 통신 시스템에 있어서, 상기 송신 장치의 상기 프로세서는, 상기 송신 장치의 기동으로부터 소정 기간에 있어서, 암호 키에 이상이 있는 경우, 생성된 상기 제1 인증 정보를 상기 소정의 인증 정보로 재기입한다.
제4 양태의 차량 통신 시스템에 의하면, 송신 장치에 있어서 암호 키에 이상이 있는 경우에, 송신 장치에 암호 키의 이상을 시사할 수 있다.
제5 양태는 통신 방법이며, 암호 키 및 소정의 인증 정보를 기억한 복수의 제어 장치가 서로 통신을 행하는 차량 통신 시스템에 있어서의 통신 방법이며, 송신측의 상기 제어 장치인 송신 장치는, 상기 송신 장치에 기억되어 있는 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고, 암호 키에 이상이 없는 경우, 생성된 상기 제1 인증 정보 및 상기 메시지를 수신측의 상기 제어 장치인 수신 장치로 송신하고, 암호 키에 이상이 있는 경우, 상기 소정의 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고, 상기 수신 장치는, 상기 수신 장치에 기억되어 있는 암호 키와 상기 송신 장치로부터 수신한 상기 메시지에 기초하여 제2 인증 정보를 생성하고, 상기 송신 장치로부터 수신한 상기 제1 인증 정보와 생성된 상기 제2 인증 정보를 대조하여 상기 메시지를 인증하고, 상기 수신 장치의 기동 후, 상기 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 상기 인증의 결과에 관계없이 수신한 상기 메시지를 접수하는 처리를 각 상기 제어 장치의 컴퓨터가 실행한다.
제5 양태의 통신 방법은, 서로 통신을 행하는 복수의 제어 장치를 포함하여 구성된 차량 통신 시스템에 있어서 컴퓨터에 의해 실행된다. 송신측의 제어 장치인 송신 장치 및 수신측의 제어 장치인 수신 장치는, 각각, 암호 키 및 소정의 인증 정보가 기억되어 있다. 송신 장치의 컴퓨터는, 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고, 암호 키에 이상이 없는 경우, 생성된 제1 인증 정보 및 메시지를 수신 장치로 송신한다. 또한, 송신 장치의 컴퓨터는, 암호 키에 이상이 있는 경우, 소정의 인증 정보 및 메시지를 수신 장치로 송신한다. 여기서, 「암호 키에 이상이 있는 경우」란, 상술한 바와 같다.
한편, 수신 장치의 컴퓨터는, 암호 키와 송신 장치로부터 수신한 메시지에 기초하여 제2 인증 정보를 생성하고, 송신 장치로부터 수신한 제1 인증 정보와 생성된 제2 인증 정보를 대조하여 메시지를 인증한다. 그리고 수신 장치의 컴퓨터는, 수신 장치의 기동 후, 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 제1 인증 정보와 소정의 인증 정보가 일치하는 경우에, 인증의 결과에 관계없이 수신한 메시지를 접수한다.
당해 통신 방법에서는, 송신측의 제어 장치를 교환하였을 때에 암호 키의 갱신이 행해지지 않은 경우, 수신 장치는 인증에는 실패한다. 단, 암호 키의 갱신이 행해져 인증에 성공할 때까지는, 수신한 제1 인증 정보와 소정의 인증 정보가 일치하는 한, 인증의 결과에 관계없이 수신한 메시지를 접수한다. 한편, 일단, 암호 키가 갱신되어 인증에 성공한 경우에는, 그 후, 수신한 제1 인증 정보와 소정의 인증 정보가 일치하였다고 해도, 수신한 메시지를 접수하지 않는다. 그 때문에, 당해 통신 방법에 의하면, 암호 키의 갱신이 행해졌음에도 불구하고, 암호 키의 갱신을 요하는 키 이상이 발생하였다고 오검출하여, 파기해야 할 메시지를 접수하는 것이 억제된다.
제6 양태는 통신 프로그램을 기록한 비일시적 기록 매체이다. 당해 통신 프로그램은, 암호 키 및 소정의 인증 정보를 기억한 복수의 제어 장치가 서로 통신을 행하는 차량 통신 시스템에 있어서, 각 상기 제어 장치의 각각의 컴퓨터에 실행시키는 통신 프로그램이며, 송신측의 상기 제어 장치인 송신 장치에서는, 상기 송신 장치에 기억되어 있는 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고, 암호 키에 이상이 없는 경우, 생성된 상기 제1 인증 정보 및 상기 메시지를 수신측의 상기 제어 장치인 수신 장치로 송신하고, 암호 키에 이상이 있는 경우, 상기 소정의 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하는 처리를 실행시키고, 상기 수신 장치에서는, 상기 수신 장치에 기억되어 있는 암호 키와 상기 송신 장치로부터 수신한 상기 메시지에 기초하여 제2 인증 정보를 생성하고, 상기 송신 장치로부터 수신한 상기 제1 인증 정보와 생성된 상기 제2 인증 정보를 대조하여 상기 메시지를 인증하고, 상기 수신 장치의 기동 후, 상기 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 상기 인증의 결과에 관계없이 수신한 상기 메시지를 접수하는 처리를 실행시키는 처리를 각 컴퓨터에 실행시킨다.
제6 양태의 비일시적 기록 매체에 기록되어 있는 통신 프로그램은, 서로 통신을 행하는 복수의 제어 장치를 포함하여 구성된 차량 통신 시스템에 있어서 컴퓨터에 다음 처리를 실행시킨다. 송신측의 제어 장치인 송신 장치 및 수신측의 제어 장치인 수신 장치는, 각각, 암호 키 및 소정의 인증 정보가 기억되어 있다. 당해 프로그램이 실행되는 송신 장치의 컴퓨터는, 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고, 암호 키에 이상이 없는 경우, 생성된 제1 인증 정보 및 메시지를 수신 장치로 송신한다. 또한, 송신 장치의 컴퓨터는, 암호 키에 이상이 있는 경우, 소정의 인증 정보 및 메시지를 수신 장치로 송신한다. 여기서, 「암호 키에 이상이 있는 경우」란, 상술한 바와 같다.
한편, 당해 프로그램이 실행되는 수신 장치의 컴퓨터는, 암호 키와 송신 장치로부터 수신한 메시지에 기초하여 제2 인증 정보를 생성하고, 송신 장치로부터 수신한 제1 인증 정보와 생성된 제2 인증 정보를 대조하여 메시지를 인증한다. 그리고 수신 장치의 컴퓨터는, 수신 장치의 기동 후, 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 제1 인증 정보와 소정의 인증 정보가 일치하는 경우에, 인증의 결과에 관계없이 수신한 메시지를 접수한다.
당해 통신 프로그램에서는, 송신측의 제어 장치를 교환하였을 때에 암호 키의 갱신이 행해지지 않은 경우, 수신 장치는 인증에는 실패한다. 단, 암호 키의 갱신이 행해져 인증에 성공할 때까지는, 수신한 제1 인증 정보와 소정의 인증 정보가 일치하는 한, 인증의 결과에 관계없이 수신한 메시지를 접수한다. 한편, 일단, 암호 키가 갱신되어 인증에 성공한 경우는, 그 후, 수신한 제1 인증 정보와 소정의 인증 정보가 일치하였다고 해도, 수신한 메시지를 접수하지 않는다. 그 때문에, 당해 통신 프로그램에 의하면, 암호 키의 갱신이 행해졌음에도 불구하고, 암호 키의 갱신을 요하는 키 이상이 발생하였다고 오검출하여, 파기해야 할 메시지를 접수하는 것이 억제된다.
본 개시에 의하면, 암호 키의 갱신이 행해졌음에도 불구하고, 암호 키의 갱신을 요하는 키 이상이 발생하였다고 오검출하여, 파기해야 할 메시지를 접수하는 것을 억제할 수 있다.
본 개시의 예시적인 실시예는 다음 도면들에 기초하여 상세하게 설명된다.
도 1은 실시 형태에 관한 차량 통신 시스템의 개략 구성을 도시하는 도면.
도 2는 실시 형태의 ECU의 하드웨어 구성을 도시하는 블록도.
도 3은 실시 형태의 ROM의 구성의 예를 도시하는 블록도.
도 4는 실시 형태의 CPU의 기능 구성의 예를 도시하는 블록도.
도 5는 송신측 및 수신측의 ECU에 있어서의 통상 시의 데이터의 흐름을 설명하는 도면.
도 6은 송신측 및 수신측의 ECU에 있어서의 키 이상 시의 데이터의 흐름을 설명하는 도면.
도 7은 송신측의 ECU에 있어서의 송신 처리의 흐름을 나타내는 흐름도.
도 8은 수신측의 ECU에 있어서의 수신 처리의 흐름을 나타내는 흐름도.
(차량 통신 시스템)
도 1은 실시 형태에 관한 차량 통신 시스템(12)의 개략 구성을 도시하는 블록도이다. 도 1에 도시되는 바와 같이, 본 실시 형태에 관한 차량 통신 시스템(12)은, 제어 장치인 복수의 ECU(Electronic Control Unit)(10)와, 복수의 ECU(10)끼리를 접속하는 통신로인 버스(14)를 포함하여 구성되어 있다. 본 실시 형태의 차량 통신 시스템(12)은, 예를 들어 차량(11)에 마련된 각 ECU(10)를 접속하는 네트워크로서 형성되어 있다.
도 1에는, ECU(10A), ECU(10B) 및 ECU(10C)의 3개의 ECU(10)가 도시되어 있다. ECU(10A)는 마스터 ECU에 상당한다. 또한, ECU(10B, 10C)는, 슬레이브 ECU에 상당한다. 이하의 설명에 있어서, ECU(10B)는 통신 프레임을 송신하는 송신측의 ECU(10)로 하고, ECU(10C)는 통신 프레임을 수신하는 수신측의 ECU(10)로서 설명한다. ECU(10B)는 송신 장치의 일례이고, ECU(10C)는 수신 장치의 일례이다.
또한, 버스(14)에는, ECU(10A, 10B 및 10C)에 한정되지는 않고, 더 많은 ECU(10)가 접속되어 있어도 된다. 또한, 본 실시 형태의 차량 통신 시스템(12)은 버스형의 버스 구조를 채용하고 있지만, 이것에 한정되지는 않고, 스타형, 링형, 라인형(데이지 체인 접속)의 버스 구조를 채용해도 된다.
본 실시 형태의 차량 통신 시스템(12)에서는, ECU(10)끼리의 통신을 행하기 위한 통신 방식에 CAN(Controller Area Network) 프로토콜, 또는 CAN 프로토콜보다 통신 속도가 고속인 CAN-FD(CAN With Flexible Data Rate) 프로토콜을 채용하고 있다. 또한, 통신 방식은 이것에 한정되지는 않고, 이더넷(등록상표) 등의 LAN 규격을 채용해도 된다.
(ECU)
도 2에 도시되는 바와 같이, 본 실시 형태의 ECU(10)는, 마이크로컨트롤러(20)와, CAN 트랜시버(30)를 포함하여 구성되어 있다. 마이크로컨트롤러(20)는, CPU(Central Processing Unit)(22), ROM(Read Only Memory)(24), RAM(Random Access Memory)(26), 및 CAN 컨트롤러(28)를 포함하여 구성되어 있다.
CPU(22)는, 중앙 연산 처리 유닛이며, 각종 프로그램을 실행하거나, 각 부를 제어하거나 한다. 즉, CPU(22)는, ROM(24)로부터 프로그램을 판독하고, RAM(26)을 작업 영역으로 하여 프로그램을 실행한다. 본 실시 형태에서는, ROM(24)에 실행 프로그램(100)이 기억되어 있다(도 3 참조). CPU(22)는 프로세서의 일례이고, ROM(24)는 메모리의 일례이다. 또한, 실행 프로그램(100)은 통신 프로그램의 일례이다.
ROM(24)은 각종 프로그램 및 각종 데이터를 기억하고 있다. 도 3에 도시되는 바와 같이, ROM(24)은, 실행 프로그램(100)과, 키 데이터(110)와, 대체 MAC 데이터(115), 메시지 데이터(120)와, 코드 데이터(130)가 기억되어 있다. 키 데이터(110)에는, MAC(Message Authentication Code: 메시지 인증 코드)를 생성하기 위한 암호 키(52)(도 5 및 도 6 참조)의 데이터가 기억되어 있다. 또한, 대체 MAC 데이터(115)에는, 후술하는 키 이상 상태에 있어서 사용하는 대체 MAC(67)가 기억되어 있다(도 6 참조). 대체 MAC(67)는 소정의 인증 정보의 일례이다.
메시지 데이터(120)에는, ECU(10)가 송신하거나 또는 수신한 메시지(62)(도 5 및 도 6 참조)가 기억되어 있다. 코드 데이터(130)에는, 장치의 고장을 나타내는 DTC(Diagnostic Trouble Code), 및 통신의 이상을 나타내는 Rob(Record of Behavior) 코드가 기억되어 있다. 또한, ECU(10)가 슬레이브 ECU인 경우, 메시지 데이터(120)는, 자기 장치 또는 통신 데이터(60)를 송신한 다른 슬레이브 ECU의 암호 키(52)에 이상이 있는 것을 검출한 경우에, 이상을 나타내는 정보를 기억할 수 있다.
RAM(26)은, 작업 영역으로서 일시적으로 프로그램 또는 데이터를 기억한다.
CAN 컨트롤러(28)는, CAN 프로토콜 및 CAN-FD 프로토콜에 관한 기능, 예를 들어 통신 조정이나 에러 체크 등의 기능을 실현한다.
CAN 트랜시버(30)는, 마이크로컨트롤러(20) 및 버스(14)와 접속되고, 마이크로컨트롤러(20)로부터 입력되는 통신 프레임을 버스(14)로 송신하고, 버스(14)에 의해 전송되는 통신 프레임을 마이크로컨트롤러(20)에 입력하는 기능을 갖고 있다.
도 4는 CPU(22)의 기능 구성의 예를 도시하는 블록도이다. 도 4에 도시되는 바와 같이, CPU(22)는, 송신부(200), 수신부(210), 생성부(220), 인증부(230), 키 감시부(240), 접수 처리부(250), 타이머(260)를 갖고 있다. 각 기능 구성은, CPU(22)가 ROM(24)에 기억된 실행 프로그램(100)을 판독하고, 이것을 실행함으로써 실현된다.
송신부(200)는, 다른 ECU(10)를 향해 통신 프레임을 송신하는 기능을 갖고 있다.
수신부(210)는, 다른 ECU(10)로부터 통신 프레임을 수신하는 기능을 갖고 있다. 본 실시 형태의 송신부(200) 및 수신부(210)는, CAN 프로토콜 또는 CAN-FD 프로토콜의 통신 방식에 기초하여 통신이 제어된다. 그 때문에, 통신 프레임은 CAN ID 및 통신 데이터(60)를 포함하고 있다. 도 5 및 도 6에 도시되는 바와 같이, 통신 데이터(60)는 메시지(62)와, 당해 메시지(62)로부터 생성된 MAC(64)를 포함하고 있다. 또한, 통신 데이터(60)는 재송 공격을 방지하기 위한 메시지 카운터인 프레시니스 밸류(Freshness Value)를 메시지(62)의 하위 비트에 포함해도 된다. MAC(64)는 제1 인증 정보의 일례이다.
생성부(220)는, 암호 키(52)를 사용하여 소정의 데이터로부터 MAC(64)를 생성하는 기능을 갖고 있다. 도 5에 도시되는 바와 같이, 송신측의 ECU(10)에 있어서의 생성부(220)는, 차량(11)에 탑재된 센서나 통신 장치로부터 입력된 메시지(62)와 암호 키(52)에 기초하여 연산 처리를 실행하여 MAC(64)를 생성한다. 또한, 수신측의 ECU(10)에 있어서의 생성부(220)는, 송신측의 ECU(10)로부터 수신한 메시지(62)와 암호 키(52)에 기초하여 연산 처리를 실행하여 검증용 MAC(66)를 생성한다. 본 실시 형태의 암호 키(52)는, 송신측과 수신측에서 공통이 되는 공통 키가 사용된다. 검증용 MAC(66)는 제2 인증 정보의 일례이다.
인증부(230)는, 메시지(62)를 인증하는 기능을 갖고 있다. 인증부(230)는, 수신한 통신 데이터(60)에 포함되는 MAC(64)와, 수신한 메시지(62)로부터 생성된 검증용 MAC(66)를 비교하여 일치하는 경우에 메시지(62)를 인증한다. 인증부(230)는 MAC(64)와 검증용 MAC(66)가 일치하는 경우는 인증에 성공하였다고 판정하고, MAC(64)와 검증용 MAC(66)가 불일치하는 경우는 인증에 실패하였다고 판정한다.
키 감시부(240)는, 슬레이브 ECU인 ECU(10B, 10C)에 기억되어 있는 암호 키(52B, 52C)가, 마스터 ECU인 ECU(10A)에 있어서의 암호 키(52A)와 일치하는지 여부를 감시하는 기능을 갖고 있다. 구체적으로, ECU(10B)의 키 감시부(240)는, ECU(10A)로부터 수신한 암호 키(52A)를 사용하여 송신된 메시지(50)에 의해, 키 데이터(110)에 기억되어 있는 암호 키(52B)의 키값이 암호 키(52A)의 키값과 일치하는지 여부를 판정한다(도 5 참조). 또한, ECU(10C)의 키 감시부(240)도 마찬가지로, 암호 키(52B)의 키값이 암호 키(52A)의 키값과 일치하는지 여부를 판정한다.
키 감시부(240)는, 자기 장치의 암호 키(52)가 마스터 ECU인 ECU(10A)의 암호 키(52A)와 일치하는 경우, 자기 장치의 암호 키(52)는 정상이라고 판정하고, 암호 키(52A)와 일치하지 않는 경우, 자기 장치의 암호 키(52)가 정상이 아니라고 판정한다.
접수 처리부(250)는, 다른 ECU(10)나 각 부의 센서로부터 취득한 메시지(62)를 접수하여, 대응하는 애플리케이션에 제공하는 기능을 갖고 있다. 접수 처리부(250)가 접수한 메시지(62)를 애플리케이션이 취득함으로써, 차량(11)은 제어된다. 예를 들어, ECU(10)가 차량(11)의 정보를 표시시키는 미터 ECU인 경우, 접수 처리부(250)가 접수한 메시지(62)에 기초하여, 미터 패널에 정보를 표시시킬 수 있다. 또한, 접수 처리부(250)는 소정의 조건 시에 수신 처리에 있어서 수신한 메시지(62)를 ROM(24) 또는 RAM(26)으로부터 소거하는 기능을 갖고 있다.
타이머(260)는, 시간을 계시하는 기능을 갖고 있다. 본 실시 형태의 타이머(260)는, ECU(10)가 기동하고 나서의 소정 기간을 카운트한다.
(처리의 흐름)
다음으로, 본 실시 형태에 있어서 ECU(10B)로부터 ECU(10C)를 향해 통신 데이터(60)를 송신하는 경우에 있어서, 각 ECU(10)에서 실행되는 처리의 흐름에 대해 도 7 및 도 8의 흐름도, 그리고 도 6의 예를 사용하여 설명한다. 또한, ECU(10B)로부터 ECU(10A)로 통신 데이터(60)를 송신하는 경우, ECU(10A)로부터 ECU(10B) 및 ECU(10C)로 통신 데이터(60)를 송신하는 경우, ECU(10C)로부터 ECU(10A) 및 ECU(10B)로 통신 데이터(60)를 송신하는 경우에 있어서도 마찬가지의 처리가 실행 가능하다.
송신측의 ECU(10B)에서는 CPU(22)에 의해 이하의 송신 처리가 실행된다.
도 7의 스텝 S100에 있어서, CPU(22)는 메시지(62)를 취득한다. 취득된 메시지(62)는 통신 데이터(60)에 부여된다(도 6 참조).
스텝 S101에 있어서, CPU(22)는 MAC(64)를 생성함과 함께, MAC(64)를 메시지(62)에 부여한다. 즉, CPU(22)는, 메시지(62) 및 암호 키(52)에 기초하는 연산 처리를 행하여 MAC(64)를 생성하고, 생성된 MAC(64)를 메시지(62)의 하위 비트에 부여한다(도 6 참조).
스텝 S102에 있어서, CPU(22)는, ECU(10B)가 기동하고 나서의 시간이 소정 기간 내인지 여부의 판정을 행한다. CPU(22)는 기동하고 나서의 시간이 소정 기간 내라고 판정한 경우(스텝 S102에서 "예"인 경우), 스텝 S103으로 진행한다. 한편, CPU(22)는 기동하고 나서의 시간이 소정 기간 내가 아닌 경우, 즉, 소정 기간을 경과한 경우(스텝 S102에서 "아니오"인 경우), 스텝 S105로 진행한다.
스텝 S103에 있어서, CPU(22)는, ECU(10B)의 암호 키(52B)가 마스터 ECU인 ECU(10A)의 암호 키(52A)와 일치하는지 여부의 판정을 행한다. CPU(22)는 암호 키(52B)가 암호 키(52A)와 일치하는 경우, 즉 암호 키(52B)가 정상이라고 판정한 경우(스텝 S103으로 "예"의 경우), 스텝 S105로 진행한다. 한편, CPU(22)는 암호 키(52B)가 암호 키(52A)와 일치하지 않는 경우, 즉 암호 키(52B)가 정상이 아니라고 판정한 경우(스텝 S103에서 "아니오"인 경우), 스텝 S104로 진행한다.
스텝 S104에 있어서, CPU(22)는 MAC(64)를 대체 MAC(67)로 재기입한다.
스텝 S105에 있어서, CPU(22)는 통신 데이터(60)를 수신측의 ECU(10C)로 송신한다. 여기서, ECU(10B)가 기동하고 나서의 시간이 소정 기간을 경과한 경우, 암호 키(52B)가 암호 키(52A)와 일치하여 정상인 경우의 통신 데이터(60)는 메시지(62) 및 MAC(64)를 포함한다(도 5 참조). 한편, ECU(10B)가 기동하고 나서 소정 기간 내이며, 암호 키(52B)가 정상이 아닌 경우의 통신 데이터(60)는 메시지(62) 및 대체 MAC(67)를 포함한다(도 6 참조).
계속해서 수신측의 ECU(10C)에서는 CPU(22)에 의해 수신 처리가 실행된다.
도 8의 스텝 S200에 있어서, CPU(22)는 통신 데이터(60)를 송신측의 ECU(10B)로부터 수신한다.
스텝 S201에 있어서, CPU(22)는 인증 처리를 실행한다. 즉, CPU(22)는 메시지(62) 및 암호 키(52C)에 기초하는 연산 처리를 행하여 검증용 MAC(66)를 생성하고, 당해 검증용 MAC(66)와 통신 데이터(60)에 포함되는 MAC(64)를 비교한다(도 5 및 도 6 참조).
스텝 S202에 있어서, CPU(22)는 인증에 성공하였는지 여부의 판정을 행한다. 즉, CPU(22)는 인증에 성공하였다고 판정한 경우(스텝 S202에서 "예"인 경우), 스텝 S203으로 진행한다. 한편, CPU(22)는 인증에 성공하지 못한 경우, 즉 실패하였다고 판정한 경우(스텝 S202에서 "아니오"인 경우), 스텝 S204로 진행한다.
스텝 S203에 있어서, CPU(22)는 통상 수신 처리를 실행한다. 즉, 도 5에 도시되는 바와 같이, CPU(22)는 수신한 메시지(62)를 접수한다. 그리고 수신 처리는 종료한다.
도 8의 스텝 S204에 있어서, CPU(22)는 ECU(10C)가 기동하고 나서의 시간이 소정 기간 내인지 여부의 판정을 행한다. CPU(22)는 기동하고 나서의 시간이 소정 기간 내라고 판정한 경우(스텝 S204에서 "예"인 경우), 스텝 S205로 진행한다. 한편, CPU(22)는 기동하고 나서의 시간이 소정 기간 내가 아닌 경우, 즉, 소정 기간을 경과한 경우(스텝 S204에서 "아니오"인 경우), 스텝 S207로 진행한다.
스텝 S205에 있어서, CPU(22)는 ECU(10C)가 기동하고 나서 한 번이라도 인증이 성공한 수신 이력이 있는지 여부의 판정을 행한다. 바꾸어 말하면, CPU(22)는 기동 후 모든 수신에 있어서 인증에 실패하였는지 여부를 판정한다. CPU(22)는 기동하고 나서 한 번이라도 인증이 성공한 수신 이력이 있다고 판정한 경우(스텝 S205에서 "예"인 경우), 스텝 S207로 진행한다. 한편, CPU(22)는 기동하고 나서 한 번도 인증이 성공한 수신이 없다고 판정한 경우(스텝 S205에서 "아니오"인 경우), 스텝 S206으로 진행한다.
스텝 S206에 있어서, 수신한 MAC(64)가 대체 MAC(67)와 일치하는지 여부의 판정을 행한다. CPU(22)는 수신한 MAC(64)가 대체 MAC(67)와 일치한다고 판정한 경우(스텝 S206에서 "예"인 경우), 스텝 S208로 진행한다. 한편, CPU(22)는 수신한 MAC(64)가 대체 MAC(67)와 일치하지 않는다고 판정한 경우(스텝 S206에서 "아니오"인 경우), 스텝 S207로 진행한다.
스텝 S207에 있어서, CPU(22)는 메시지(62)를 파기한다. 즉, CPU(22)는 수신한 메시지(62)를 ROM(24) 또는 RAM(26)으로부터 소거한다. 그리고 수신 처리는 종료한다.
스텝 S208에 있어서, CPU(22)는 이상 시 수신 처리를 실행한다. 즉, 도 6에 도시되는 바와 같이, CPU(22)는, ECU(10B)의 키 이상을 검출함과 함께, 수신한 메시지(62)를 접수한다. 그리고 수신 처리는 종료한다.
(작용)
본 실시 형태의 차량 통신 시스템(12)은, 서로 통신을 행하는 복수의 ECU(10)를 포함하여 구성되어 있다. 송신측 및 수신측의 ECU(10)에는, 각각, ROM(20B)에 암호 키(52) 및 소정의 인증 정보인 대체 MAC(67)가 기억되어 있다.
본 실시 형태의 차량 통신 시스템(12)에서는, 암호 키(52B)에 이상이 없는 통상 시의 경우, 도 5에 도시되는 바와 같이, 송신측의 ECU(20B)와 수신측의 ECU(10C)의 통신에 있어서, 다음 처리가 실행된다. ECU(20B)의 CPU(22)는, 암호 키(52B)와 메시지(62)에 기초하여 MAC(64)를 생성하고, 생성된 MAC(64) 및 메시지(62)를 통신 데이터(60)로서 ECU(10C)로 송신한다.
한편, ECU(10C)의 CPU(22)는, 암호 키(52C)와 ECU(10B)로부터 수신한 메시지(62)에 기초하여 제2 인증 정보인 검증용 MAC(66)를 생성하고, ECU(10B)로부터 수신한 MAC(64)와 생성된 검증용 MAC(66)를 대조하여 메시지(62)를 인증한다. 이 경우, ECU(10B)에 있어서의 암호 키(52B)와, ECU(10C)에 있어서의 암호 키(52C)가 대응 관계에 있는 경우, 즉 공통 키인 경우는 암호 키(52B)의 키값과 암호 키(52C)의 암호 키가 일치하는 경우, 인증에 성공한다. 메시지(62)의 인증에 성공함으로써, 메시지(62)는 애플리케이션에서 접수되고, ECU(10C)에서는 메시지(62)에 기초하는 제어가 실행된다.
이에 비해, 본 실시 형태의 차량 통신 시스템(12)에서는, 암호 키(52B)에 이상이 있는 키 이상 시의 경우, 도 6에 도시되는 바와 같이, 송신측의 ECU(20B)와 수신측의 ECU(10C)의 통신에 있어서, 다음 처리가 실행된다. 여기서, 암호 키(52B)에 이상이 있는 경우란, 예를 들어 ECU(10B)를 교환한 결과, 키값이 마스터 ECU인 ECU(10A)의 암호 키(52A)의 키값과 다른 경우를 들 수 있다. 먼저, ECU(10B)의 CPU(22)는, 암호 키(52B)에 이상이 있는 경우, MAC(64)를 대체 MAC(67)로 재기입하고, 대체 MAC(67) 및 메시지(62)를 ECU(10C)로 송신한다.
한편, ECU(10C)의 CPU(22)는, ECU(10C)의 기동 후 소정 기간 내에 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 MAC(64)와 대체 MAC(67)가 일치하는 경우에, ECU(10B)의 암호 키(52B)에 이상이 있는 것을 검출한다. 그리고 키 이상이 검출된 통지와 함께 메시지(62)는 애플리케이션에서 접수되고, ECU(10C)에서는 메시지(62)에 기초하는 제어가 잠정적으로 실행된다.
(정리)
본 실시 형태의 차량 통신 시스템(12)은, CAN 프로토콜 및 CAN-FD 프로토콜에 의한 통신을 행하는데, 일방향의 통신이므로, 수신측의 ECU(10C)에 있어서 인증에 실패해도 송신측의 ECU(10B)가 고장인지 암호 키(52B)가 틀렸는지를 알 방법이 없다.
한편, MAC(64)가 구비된 통신 데이터(60)에 더하여 암호 키(52B)의 상태를 나타내는 통신 프레임을 동시에 ECU(10C)로 송신하는 것을 생각할 수 있다. 그러나 상태를 나타내는 통신 프레임이 공격을 받아 버리면, ECU(10C)는, ECU(10B)가 단순히 키의 차이임에도 불구하고 고장을 오검출해 버린다. 또한, 메시지(62)의 통신 프레임과, 암호 키(52B)용의 통신 프레임에서, 통신이 이중으로 됨으로써 버스(14)의 부하가 증가한다. 그 결과, 통신 자체가 성립되지 않게 될 리스크가 있다.
이에 비해, 본 실시 형태에 따르면, 일방향의 통신이라도, 통신 프레임수를 증가시키는 일 없이, 송신측의 ECU(10B)에 있어서의 암호 키(52B)의 상태를 파악할 수 있다. 구체적으로, 본 실시 형태에서는, 송신측의 ECU(10B)를 교환하였을 때에 암호 키(52B)의 갱신이 행해지지 않은 경우, ECU(10C)에서는 인증에 실패한다. 단, 암호 키(52B)의 갱신이 행해져 인증에 성공할 때까지는, 수신한 MAC(64)와 대체 MAC(67)가 일치하는 한, 암호 키(52B)의 갱신을 요하는 키 이상을 검출한다.
한편, 일단, 암호 키(52B)가 갱신되어 인증에 성공한 경우는, 그 후, 수신한 MAC(64)와 대체 MAC(67)가 일치하였다고 해도, 암호 키(52B)의 갱신을 요하는 키 이상은 검출하지 않는다. 그 때문에, 본 실시 형태에 따르면, 암호 키(52B)의 갱신이 행해졌음에도 불구하고, 그 후, 대체 MAC(67)를 수신한 경우라도 암호 키(52B)의 갱신을 요하는 키 이상이 발생하였다고 오검출하는 것이 억제된다.
또한, 본 실시 형태에서는, 암호 키(52B)의 갱신을 요하는 키 이상을 검출한 경우는, 메시지(62)를 접수하는 것을 특징으로 하고 있다. 즉, ECU(10C)의 기동 후 소정 기간 내에 있어서, 암호 키(52B)의 갱신이 행해져 인증에 성공할 때까지는, 수신한 MAC(64)와 대체 MAC(67)가 일치하는 한, 메시지(62)를 접수한다. 여기서, 상기한 「소정 기간」이란 ECU(10)가 기동하고 나서 인증에 관한 장치의 준비가 완료될 때까지 필요로 하는 시간을 상정하고 있다. 본 실시 형태에 따르면, 기동 후 소정 기간 내는, 암호 키(52B)가 정규의 것과 다른 경우라도, 잠정적인 조치로서 메시지(62)를 접수한다. 그 때문에, 본 실시 형태에 따르면, 암호 키(52B)의 갱신이 행해질 때까지의 차량(11)의 제어를 담보할 수 있다.
또한, 일단, 암호 키(52B)가 갱신되어 인증에 성공한 경우는, 그 후, 수신한 MAC(64)와 대체 MAC(67)가 일치하였다고 해도, 암호 키(52B)의 갱신을 요하는 키 이상은 검출되지 않고, 메시지(62)는 접수되지 않는다. 그 때문에, 본 실시 형태에 따르면, 암호 키(52B)의 갱신이 행해졌음에도 불구하고, 암호 키(52B)의 갱신을 요하는 키 이상이 발생하였다고 오검출하여, 파기해야 할 메시지(62)가 접수되는 것이 억제된다.
또한, 소정 기간을 경과한 후에 있어서, 인증에 실패한 경우는 메시지(62)가 파기된다. 또한, 수신한 MAC(64)와 대체 MAC(67)가 일치하지 않는 경우, 메시지(62)가 파기된다. 이에 의해, 암호 키(52B)의 갱신을 요하는 키 이상이 발생하지 않는 경우에 메시지(62)를 파기함으로써, 시큐리티를 확보할 수 있다.
또한, 일단, 암호 키(52B)가 갱신되어 인증에 성공한 경우는, 소정 기간 내에 수신한 MAC(64)와 대체 MAC(67)가 일치하였다고 해도 메시지(62)는 파기된다. 따라서, 본 실시 형태에 따르면, 암호 키(52B)의 갱신이 행해진 후의 시큐리티를 확보할 수 있다.
(비고)
또한, 상기 실시 형태에서 CPU(22)가 소프트웨어(프로그램)를 읽어들여 실행한 각종 처리를, CPU 이외의 각종 프로세서가 실행해도 된다. 이 경우의 프로세서로서는, FPGA(Field-Programmable Gate Array) 등의 제조 후에 회로 구성을 변경 가능한 PLD(Programmable Logic Device), 및 ASIC(Application Specific Integrated Circuit) 등의 특정한 처리를 실행시키기 위해 전용으로 설계된 회로 구성을 갖는 프로세서인 전용 전기 회로 등이 예시된다. 또한, 상술한 처리를, 이들 각종의 프로세서 중 하나에 의해 실행해도 되고, 동종 또는 이종의 2개 이상의 프로세서의 조합(예를 들어, 복수의 FPGA, 및 CPU와 FPGA의 조합 등)에 의해 실행해도 된다. 또한, 이들 각종 프로세서의 하드웨어적인 구조는, 보다 구체적으로는 반도체 소자 등의 회로 소자를 조합한 전기 회로이다.
또한, 상기 실시 형태에 있어서, 프로그램은 컴퓨터가 판독 가능한 비일시적 기록 매체에 미리 기억(인스톨)되어 있는 양태로 설명하였다. 예를 들어, 실행 프로그램(100)은, ROM(24)에 미리 기억되어 있다. 그러나 이것에 한정되지는 않고, 실행 프로그램(100)은, CD-ROM(Compact Disc Read Only Memory), DVD-ROM(Digital Versatile Disc Read Only Memory), 및 USB(Universal Serial Bus) 메모리 등의 비일시적 기록 매체에 기록된 형태로 제공되어도 된다. 또한, 실행 프로그램(100)은, 네트워크를 통해 외부 장치로부터 다운로드되는 형태로 해도 된다.
상기 실시 형태에서 설명한 처리의 흐름은 일례이며, 주지를 일탈하지 않는 범위 내에서 불필요한 스텝을 삭제하거나, 새로운 스텝을 추가하거나, 처리 순서를 바꾸거나 해도 된다.

Claims (8)

  1. 복수의 제어 장치가 서로 통신을 행하는 차량 통신 시스템이며,
    송신측의 상기 제어 장치인 송신 장치 및 수신측의 상기 제어 장치인 수신 장치는, 암호 키 및 소정의 인증 정보를 기억한 메모리와, 상기 메모리에 접속된 프로세서를 각각 포함하고,
    상기 송신 장치의 상기 프로세서는,
    상기 송신 장치의 상기 메모리에 기억되어 있는 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고,
    암호 키에 이상이 없는 경우, 생성된 상기 제1 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고, 암호 키에 이상이 있는 경우, 상기 소정의 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고,
    상기 수신 장치의 상기 프로세서는,
    상기 수신 장치의 상기 메모리에 기억되어 있는 암호 키와 상기 송신 장치로부터 수신한 상기 메시지에 기초하여 제2 인증 정보를 생성하고,
    상기 송신 장치로부터 수신한 상기 제1 인증 정보와 생성된 상기 제2 인증 정보를 대조하여 상기 메시지를 인증하고,
    상기 수신 장치의 기동 후, 상기 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 상기 인증의 결과에 관계없이 수신한 상기 메시지를 접수하는,
    차량 통신 시스템.
  2. 제1항에 있어서,
    상기 수신 장치의 상기 프로세서는,
    수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 암호 키의 이상을 검출하는,
    차량 통신 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 수신 장치의 상기 프로세서는,
    상기 인증에 실패하고, 기동으로부터 소정 기간을 초과한 경우, 수신한 상기 메시지를 파기하는,
    차량 통신 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 수신 장치의 상기 프로세서는,
    금회의 수신에 있어서의 상기 인증에 실패하고, 또한 상기 수신 장치의 기동 후, 상기 인증에 한 번이라도 성공한 경우, 수신한 상기 메시지를 파기하는,
    차량 통신 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 수신 장치의 상기 프로세서는,
    상기 인증에 실패하고, 또한 상기 송신 장치로부터 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 불일치하는 경우, 수신한 상기 메시지를 파기하는,
    차량 통신 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 송신 장치의 상기 프로세서는,
    상기 송신 장치의 기동으로부터 소정 기간에 있어서, 암호 키에 이상이 있는 경우, 생성된 상기 제1 인증 정보를 상기 소정의 인증 정보로 재기입하는,
    차량 통신 시스템.
  7. 암호 키 및 소정의 인증 정보를 기억한 복수의 제어 장치가 서로 통신을 행하는 차량 통신 시스템에 있어서의 통신 방법이며,
    송신측의 상기 제어 장치인 송신 장치는,
    상기 송신 장치에 기억되어 있는 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고,
    암호 키에 이상이 없는 경우, 생성된 상기 제1 인증 정보 및 상기 메시지를 수신측의 상기 제어 장치인 수신 장치로 송신하고, 암호 키에 이상이 있는 경우, 상기 소정의 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하고,
    상기 수신 장치는,
    상기 수신 장치에 기억되어 있는 암호 키와 상기 송신 장치로부터 수신한 상기 메시지에 기초하여 제2 인증 정보를 생성하고,
    상기 송신 장치로부터 수신한 상기 제1 인증 정보와 생성된 상기 제2 인증 정보를 대조하여 상기 메시지를 인증하고,
    상기 수신 장치의 기동 후, 상기 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 상기 인증의 결과에 관계없이 수신한 상기 메시지를 접수하는
    처리를 각 상기 제어 장치의 컴퓨터가 실행하는, 통신 방법.
  8. 암호 키 및 소정의 인증 정보를 기억한 복수의 제어 장치가 서로 통신을 행하는 차량 통신 시스템에 있어서, 각 상기 제어 장치의 각각의 컴퓨터에 실행시키는 통신 프로그램을 기록한 비일시적 기록 매체이며,
    송신측의 상기 제어 장치인 송신 장치에서는,
    상기 송신 장치에 기억되어 있는 암호 키와 메시지에 기초하여 제1 인증 정보를 생성하고,
    암호 키에 이상이 없는 경우, 생성된 상기 제1 인증 정보 및 상기 메시지를 수신측의 상기 제어 장치인 수신 장치로 송신하고, 암호 키에 이상이 있는 경우, 상기 소정의 인증 정보 및 상기 메시지를 상기 수신 장치로 송신하는 처리를 실행시키고,
    상기 수신 장치에서는,
    상기 수신 장치에 기억되어 있는 암호 키와 상기 송신 장치로부터 수신한 상기 메시지에 기초하여 제2 인증 정보를 생성하고,
    상기 송신 장치로부터 수신한 상기 제1 인증 정보와 생성된 상기 제2 인증 정보를 대조하여 상기 메시지를 인증하고,
    상기 수신 장치의 기동 후, 상기 인증에 한 번도 성공하지 못한 경우이며, 또한 수신한 상기 제1 인증 정보와 상기 소정의 인증 정보가 일치하는 경우에, 상기 인증의 결과에 관계없이 수신한 상기 메시지를 접수하는 처리를 실행시키는
    처리를 각 컴퓨터에 실행시키는, 통신 프로그램을 기록한 비일시적 기록 매체.
KR1020210150464A 2020-11-13 2021-11-04 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체 KR102649908B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2020-189829 2020-11-13
JP2020189829A JP7380530B2 (ja) 2020-11-13 2020-11-13 車両通信システム、通信方法及び通信プログラム

Publications (2)

Publication Number Publication Date
KR20220065680A true KR20220065680A (ko) 2022-05-20
KR102649908B1 KR102649908B1 (ko) 2024-03-22

Family

ID=78536095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210150464A KR102649908B1 (ko) 2020-11-13 2021-11-04 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체

Country Status (5)

Country Link
US (2) US11832098B2 (ko)
EP (1) EP4002753A1 (ko)
JP (1) JP7380530B2 (ko)
KR (1) KR102649908B1 (ko)
CN (1) CN114499831B (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013048374A (ja) * 2011-08-29 2013-03-07 Toyota Motor Corp 保護通信方法
US20160297401A1 (en) * 2014-05-08 2016-10-13 Panasonic Intellectual Property Corporation Of America Method for handling transmission of fraudulent frames within in-vehicle network
KR20200020515A (ko) * 2018-08-17 2020-02-26 재단법인대구경북과학기술원 Can 시스템 및 메시지 인증 방법
US20200220716A1 (en) * 2014-11-12 2020-07-09 Panasonic Intellectual Property Corporation Of America Update management method, update management system, and non-transitory recording medium
JP2020137009A (ja) * 2019-02-22 2020-08-31 株式会社デンソー ネットワークシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4197031B2 (ja) * 2006-11-30 2008-12-17 沖電気工業株式会社 メッセージ認証システム及びメッセージ認証方法
US9425963B2 (en) * 2014-03-21 2016-08-23 GM Global Technology Operations LLC Securing electronic control units using message authentication codes
JP2016092716A (ja) * 2014-11-10 2016-05-23 パナソニックIpマネジメント株式会社 鍵管理通信装置および鍵配布方法
JP2017168907A (ja) 2016-03-14 2017-09-21 本田技研工業株式会社 通信システム
JP6814549B2 (ja) * 2016-04-27 2021-01-20 日立オートモティブシステムズ株式会社 演算装置、認証システム、認証方法
JP6409849B2 (ja) 2016-10-31 2018-10-24 トヨタ自動車株式会社 通信システム及び通信方法
JP2018133744A (ja) * 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
CN110635893B (zh) * 2019-09-21 2020-10-20 吉林大学 一种车载以太网信息安全防护方法
JP7156257B2 (ja) 2019-11-21 2022-10-19 トヨタ自動車株式会社 車両通信装置、通信異常の判定方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013048374A (ja) * 2011-08-29 2013-03-07 Toyota Motor Corp 保護通信方法
US20160297401A1 (en) * 2014-05-08 2016-10-13 Panasonic Intellectual Property Corporation Of America Method for handling transmission of fraudulent frames within in-vehicle network
US20200220716A1 (en) * 2014-11-12 2020-07-09 Panasonic Intellectual Property Corporation Of America Update management method, update management system, and non-transitory recording medium
KR20200020515A (ko) * 2018-08-17 2020-02-26 재단법인대구경북과학기술원 Can 시스템 및 메시지 인증 방법
JP2020137009A (ja) * 2019-02-22 2020-08-31 株式会社デンソー ネットワークシステム

Also Published As

Publication number Publication date
KR102649908B1 (ko) 2024-03-22
EP4002753A1 (en) 2022-05-25
US11832098B2 (en) 2023-11-28
CN114499831A (zh) 2022-05-13
CN114499831B (zh) 2023-12-12
JP2022078868A (ja) 2022-05-25
US20240040374A1 (en) 2024-02-01
US20220159456A1 (en) 2022-05-19
JP7380530B2 (ja) 2023-11-15

Similar Documents

Publication Publication Date Title
JP6477281B2 (ja) 車載中継装置、車載通信システム及び中継プログラム
JP6773617B2 (ja) 更新制御装置、ソフトウェア更新システムおよび更新制御方法
JP2018157463A (ja) 車載通信システム、通信管理装置、車両制御装置
US20190123908A1 (en) Arithmetic Device, Authentication System, and Authentication Method
WO2017057165A1 (ja) 車載通信システム
WO2018173732A1 (ja) 車載通信装置、コンピュータプログラム及びメッセージ判定方法
CN112825500B (zh) 车辆通信装置、通信异常的判定方法以及记录介质
US20190132119A1 (en) Method for exchanging messages between security-relevant devices
US20230037778A1 (en) Method and system for data exchange on a network to enhance security measures of the network, vehicle comprising such system
JP6468133B2 (ja) 車載ネットワークシステム
US20230224289A1 (en) Communication device, vehicle, communication method, and recording medium recorded with program
CN113226858A (zh) 信息处理装置
KR20220065680A (ko) 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체
WO2023205208A1 (en) Method for safety responses to security policy violations
CN113273144B (zh) 车载通信系统、车载通信控制装置、车载通信装置、通信控制方法及通信方法
JP2018157339A (ja) 通信装置、および受信装置
JP2019125837A (ja) ネットワークシステム
WO2023187896A1 (ja) 通信システム、送信機、及び受信機
JP2023101193A (ja) 情報処理装置、車両、情報処理方法、及びプログラム
KR20230097397A (ko) 차량 네트워크 침입 탐지 시스템 및 그 방법
JP6149716B2 (ja) 車載ネットワークシステム
CN111226214A (zh) 用于确认密码密钥的系统和方法
JP2017169017A (ja) 車両用通信網装置及び通信方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant