JP2023024013A - 車載通信システム - Google Patents

車載通信システム Download PDF

Info

Publication number
JP2023024013A
JP2023024013A JP2021130048A JP2021130048A JP2023024013A JP 2023024013 A JP2023024013 A JP 2023024013A JP 2021130048 A JP2021130048 A JP 2021130048A JP 2021130048 A JP2021130048 A JP 2021130048A JP 2023024013 A JP2023024013 A JP 2023024013A
Authority
JP
Japan
Prior art keywords
key
broadcast
communication
key data
domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021130048A
Other languages
English (en)
Inventor
綾音 牧内
Ayane Makiuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2021130048A priority Critical patent/JP2023024013A/ja
Priority to DE102022117990.7A priority patent/DE102022117990A1/de
Publication of JP2023024013A publication Critical patent/JP2023024013A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • 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)
    • H04L9/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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
    • 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]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ブロードキャスト通信を行う複数のノードを含む構成において、グループ毎に仮想的なネットワーク分離ができる車載通信システムを提供することである。【解決手段】中継装置は、ステップS15で、複数のECUのうち複数の仮想グループの一つである特定仮想グループに含まれているECUのみが起動しているか否かを判定する。中継装置は、ステップS17では、特定仮想グループに含まれているECUのみが起動していると判定すると、そのECUが送受信する通信データを暗号化および復号化するための鍵データであり、特定仮想グループに固有の鍵データを配布する。【選択図】図5

Description

本開示は、車載通信システムに関する。
特許文献1には、CAN(登録商標)の通信プロトコルに準拠したCANネットワークと、Ethernet(登録商標)の通信プロトコルに準拠したEthernetネットワークと、中継装置とを備えた車両ネットワークが開示されている。Ethernetネットワークは、VLANを構築している。VLANは、Virtual Local Area Networkの略である。
特開2018-125601号公報
先行技術文献の構成は、VLANを構築しているため、Ethernetネットワークに含まれているクライアントを仮想的にネットワーク分離できる。しかしながら、ブロードキャスト通信を行うネットワークでは、仮想的にネットワークを分離しようとしても、同じ通信線上のノードにデータを読まれてしまうという問題がある。
開示される一つの目的は、ブロードキャスト通信を行う複数のノードを含む構成において、グループ毎に仮想的なネットワーク分離ができる車載通信システムを提供することである。
ここに開示された車載通信システムは、
第1通信線(41)と、第1通信線を介して通信データをブロードキャスト通信する複数のブロードキャストノード(21~26)と、第2通信線(42)と、第2通信線を介して通信データを非ブロードキャスト通信する非ブロードキャストノード(31~34)と、少なくとも一つのブロードキャストノードと少なくとも一つの非ブロードキャストノードとを含む第1仮想グループと、少なくとも一つのブロードキャストノードを含む第2仮想グループを少なくとも含む複数の仮想グループを形成するとともに、ブロードキャストノードと非ブロードキャストノードとの間で通信データを中継する中継装置(10)と、を備えた車両に搭載可能な車載通信システムであって、
中継装置は、
複数のブロードキャストノードのうち複数の仮想グループの一つである特定グループに含まれている対象ノードのみが起動しているか否かを判定する起動判定部(S1,S2,S15,S22)と、
対象ノードのみが起動していると判定すると、対象ノードが送受信する通信データを暗号化および復号化するための特定グループに固有の鍵情報を配布する鍵配布部(S3,S17,S23)と、を含み、
複数のブロードキャストノードは、
通信データを暗号化および復号化するために、起動中にのみ鍵情報を受信する受信部(S4)を備えている。
このように、車載通信システムの中継装置は、特定グループに含まれている対象ノードのみが起動している場合に、特定グループに固有の鍵情報を配布する。よって、車載通信システムは、特定グループに含まれているブロードキャストノードのみが、特定グループに固有の鍵情報を受信する。つまり、車載通信システムは、複数のブロードキャストノードが他の仮想グループに固有の鍵情報を受信することを防ぐことができる。
このため、鍵情報で暗号化された通信データは、その鍵情報を受信した特定グループのブロードキャストノードのみが復号化することができる。よって、車載通信システムは、ブロードキャスト通信を行う複数のブロードキャストノードを含む構成において、グループ毎に仮想的なネットワーク分離ができる。
さらに、ここに開示された車載通信システムは、
通信線(41)と、通信線を介して通信データをブロードキャスト通信する複数のブロードキャストノード(21~27)と、少なくとも二つのブロードキャストノードを含む仮想グループを複数形成する通信制御装置(101)と、を備えた通信システムであって、
通信制御装置は、
複数のブロードキャストノードのうち複数の仮想グループの一つである特定グループに含まれている対象ノードのみが起動しているか否かを判定する起動判定部(S1,S2,S15,S22)と、
対象ノードのみが起動していると判定すると、対象ノードが送受信する通信データを暗号化および復号化するための特定グループに固有の鍵情報を配布する鍵配布部(S3,S17,S23)と、を含み、
複数のブロードキャストノードは、
通信データを暗号化および復号化するために、起動中にのみ鍵情報を受信する受信部(S4)を備えている。
このように、車載通信システムの通信制御装置は、特定グループに含まれている対象ノードのみが起動している場合に、特定グループに固有の鍵情報を配布する。よって、車載通信システムは、特定グループに含まれているブロードキャストノードのみが、特定グループに固有の鍵情報を受信する。つまり、車載通信システムは、複数のブロードキャストノードが他の仮想グループに固有の鍵情報を受信することを防ぐことができる。
このため、鍵情報で暗号化された通信データは、その鍵情報を受信した特定グループのブロードキャストノードのみが復号化することができる。よって、車載通信システムは、ブロードキャスト通信を行う複数のブロードキャストノードを含む構成において、グループ毎に仮想的なネットワーク分離ができる。
この明細書において開示された複数の態様は、それぞれの目的を達成するために、互いに異なる技術的手段を採用する。請求の範囲およびこの項に記載した括弧内の符号は、後述する実施形態の部分との対応関係を例示的に示すものであって、技術的範囲を限定することを意図するものではない。この明細書に開示される目的、特徴、および効果は、後続の詳細な説明、および添付の図面を参照することによってより明確になる。
第1実施形態における車載通信システムの概略構成を示すブロック図である。 第1実施形態における中継装置の機能を示す機能ブロック図である。 第1実施形態における第1ECUの機能を示す機能ブロック図である。 第1実施形態における車載通信システムの処理動作を示すフローチャートである。 第1実施形態における中継装置のIGオン時の処理動作を示すフローチャートである。 第1実施形態における中継装置のIGオフ時の処理動作を示すフローチャートである。 第1実施形態におけるテーブルの状態遷移を示すイメージ図である。 第1実施形態における第1ECUの処理動作を示すフローチャートである。 第1実施形態における第1ECUの処理動作を示すタイムチャートである。 第1実施形態における第1ECUの処理動作を示すタイムチャートである。 変形例における第1ECUの処理動作を示すタイムチャートである。 第2実施形態における第1ECUの処理動作を示すフローチャートである。 第2実施形態における第1ECUの処理動作を示すタイムチャートである。 第2実施形態における第1ECUの処理動作を示すタイムチャートである。 変形例における第1ECUの処理動作を示すタイムチャートである。 第3実施形態における車載通信システムの概略構成を示すブロック図である。
以下において、図面を参照しながら、本開示を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。なお、図面においては、中継装置をGWECU、処理装置をPRD、記憶装置をSRD、通信装置をCMDと記載している。また、各ECUに関しては、全てECUと記載している。
(第1実施形態)
<車載通信ネットワーク>
図1を用いて、車載通信システムの構成に関して説明する。車載通信システムは、車両に搭載可能に構成された通信システムである。車載通信システムは、ブロードキャスト通信を行う通信ネットワークと、非ブロードキャスト通信を行う通信ネットワークとを備えている。非ブロードキャスト通信は、ユニキャスト通信やマルチキャスト通信などをあげることができる。
本実施形態では、ブロードキャスト通信を行う通信ネットワークの一例として、CANの通信プロトコルに準拠したCANネットワークを採用する。一方、非ブロードキャスト通信を行う通信ネットワークの一例として、Ethernetの通信プロトコルに準拠したEthernetネットワークを採用する。しかしながら、本開示は、これに限定されない。
CANネットワークは、第1通信バス41と、第1通信バス41を介して通信データをブロードキャスト通信する複数のECU21~26とを備えている。よって、複数のECU21~26は、第1通信バス41に通信可能な状態で接続されている。
各ECU21~26は、ブロードキャストノードに相当する。本実施形態では、第1ECU21~第6ECU26の六つのブロードキャストノードが第1通信バス41に接続された構成を採用している。しかしながら、ブロードキャストノードの個数は、これに限定されない。なお、各ECU21~26は、CANクライアントとも称することができる。
Ethernetネットワークは、第2通信バス42と、第2通信バス42を介して通信データを非ブロードキャスト通信する複数のECU31~34とを備えている。よって、複数のECU31~34は、第2通信バス42に通信可能な状態で接続されている。
また、Ethernetネットワークは、各ECU31~34と第2通信バス42を介して個別に接続されたスイッチ60を備えている。スイッチ60は、後ほど説明する中継装置10と第2通信バス42で接続されている。よって、各ECU31~34は、第2通信バス42に加えてスイッチ60を介して中継装置10と接続されている。
スイッチ60は、各ECU31~34からのデータを受信した際に、受信ポートのVLAN-IDを確認する。そして、スイッチ60は、受信ポートと同じVLAN-IDを持つポートに、受信したデータを転送する。これにより、Ethernetネットワークは、ネットワークを分離することができる。
さらに、本実施形態では、Ethernetネットワークの各ECU31~34と、CANネットワークの各ECU21~26とが中継装置10を介して通信可能に構成されている。スイッチ60は、例えば中継装置10と接続された共有ポートを備えている。各ECU31~34は、スイッチ60は、各ECU31~34からのデータを受信した際に、受信ポートと同じVLAN-IDを持つポートだけでなく共有ポートにも受信したデータを転送する。これによって、各ECU31~34は、ネットワーク分離した状態で、各ECU21~26と通信できる。各ECU21~26から各ECU31~34への通信も同様である。なお、VLAN-IDに関しては、後ほど詳しく説明する。なお、スイッチ60は、中継装置10に含まれていてもよい。
各ECU31~34は、非ブロードキャストノードに相当する。本実施形態では、第11ECU31~第14ECU34の四つの非ブロードキャストノードが第2通信バス42に接続された構成を採用している。しかしながら、非ブロードキャストノードの個数は、これに限定されない。なお、各ECU31~34は、Ethernetクライアントとも称することができる。
第1通信バス41は、第1通信線に相当する。第1通信バス41は、CANバスと称されることもある。第2通信バス42は、第2通信線に相当する。
また、車載通信システムは、中継装置10を備えている。中継装置10は、第1通信バス41および第2通信バス42と、通信可能な状態で接続されている。
車載通信システムは、第1ドメイン51、第2ドメイン52、第3ドメイン53を備えている。各ドメイン51~53は、仮想グループに相当する。各ドメイン51~53は、仮想的に分離されたグループである。以下においては、各ドメイン51~53を区別する必要がない場合に仮想グループとも記載する。車載通信システムは、例えば、第1ドメイン51が第1仮想グループ、第2ドメインが第2仮想グループに相当する。また、第1ドメイン51と第2ドメイン52のいずれか一方は、非ブロードキャストノードが含まれいなくてもよい。
各ドメイン51~53は、少なくとも一つのCANクライアントと少なくとも一つのEthernetクライアントとを含んでいる。つまり、各ドメイン51~53は、複数のECU21~26の少なくとも一つと、複数のECU31~34の少なくとも一つを含んでいる。
このように、車載通信システムは、ドメイン51~53毎に、ネットワーク分離されている。このため、通信データは、各ドメイン51~53内でのみ送受信される。例えば、第1ドメイン51内で送信された通信データは、第1ドメイン51に含まれているECUのみが受信できる。また、後ほど説明するが、通信データは、暗号化されて送信される。よって、第1ドメイン51内で送信された通信データは、第1ドメイン51に含まれているECUのみが復号化できるといえる。よって、第1ドメイン51内で送信された通信データは、他のドメイン52,53に含まれているECUで受信(復号化)できない。
各ドメイン51~53には、機能の関連があるECUが集められている。第1ドメイン51(DOM1)は、第1ECU21~第3ECU23、第11ECU31、第12ECU32を含んでいる。また、第2ドメイン52(DOM2)は、第4ECU24の一部、第5ECU25、第6ECU26、第14ECU34を含んでいる。さらに、第3ドメイン53(DOM3)は、第4ECU24の一部、第13ECU33を含んでいる。
第1ECU21~第3ECU23、第11ECU31、第12ECU32は、同じ制御に関連する機能を有している。第4ECU24の一部、第5ECU25、第6ECU26、第14ECU34は、第1ECU21などとは異なる同じ制御に関する機能を有している。第4ECU24の一部、第13ECU33は、第5ECU25などとは異なる同じ制御に関する機能を有している。
各ECU21~26,31~34が有している機能としては、ADASの制御に関連する機能、ボデー機器の制御に関連する機能、空調の制御に関連する機能、車両の走行制御に関連する機能などをあげることができる。ADASの制御は、先進運転支援システムの制御といえる。空調の制御は、サーマルシステムといえる。以下においては、各ドメイン51~53は、上記機能に応じて、ADASドメイン、ボデードメイン、サーマルドメイン、パワートレインドメインと称することができる。なお、以下においては、一例として、第1ドメイン51をサーマルドメイン、第2ドメイン52をボデードメイン、第3ドメイン53をパワートレインドメインとする。
なお、第4ECU24は、後ほど説明する処理装置20aがマルチコア構成となっている。よって、第4ECU24の一部とは、一部のコアを示している。つまり、第4ECU24は、一部のコアが第2ドメイン52、他のコアが第3ドメイン53となっている。つまり、第4ECU24は、第2ドメイン52と第3ドメイン53とでECU統合しているといえる。
本実施形態では、一例として、上記のような構成のドメイン51~53を採用している。しかしながら、本開示は、これに限定されない。つまり、ドメイン数、各ドメインの機能、ドメインに含まれるECUの数などは、上記に限定されない。
以下においては、第1ドメイン51に含まれるECUをまとめて第1ドメインECU、第2ドメイン52に含まれるECU(コア)をまとめて第2ドメインECU、第3ドメイン53に含まれるECU(コア)をまとめて第3ドメインECUとも称する。
<中継装置>
中継装置10は、処理装置10a、記憶装置10b、通信装置10cなどを備えている。処理装置10aは、CPUなどを採用することができる。処理装置10aは、記憶装置10bに記憶されたプログラムを実行することで演算処理を行う。また、処理装置10aは、記憶装置10bの記憶内容を参照しながら演算処理を行う。これによって、中継装置10は、通常処理や鍵交換処理などの処理動作を実行する。
中継装置10は、通常処理として、例えば、複数のECU21~26と複数のECU31~34との間における通信データの中継を行う。中継装置10は、鍵交換処理を行うことで、複数のドメイン51~53を形成している。中継装置10は、鍵交換処理として、各ECU21~26に新しい鍵データを配布して各ECU21~26,31~34の鍵データを新しい鍵データに交換する。以下においては、新しい鍵データの配布を単に鍵データの配布や鍵配布とも称する。また、新しい鍵データを配布は、鍵交換ともいえる。
記憶装置10bは、不揮発性メモリや揮発性メモリを備えている。不揮発性メモリは、処理装置10aが実行するプログラムが記憶されている。揮発性メモリは、処理装置10aの演算結果などが一時的に記憶される。
通信装置10cは、トランシーバなどを備えている。通信装置10cは、第1通信バス41や第2通信バス42を介した通信を行う装置である。処理装置10aは、通信装置10cを用いて、各ECU21~26,ECU31~34と通信を行う。
また、中継装置10は、処理装置10aが記憶装置10bや通信装置10cを用いつつ演算処理を行うことで複数の機能を実行する。図2には、中継装置10が実行する機能を機能ブロックとして図示している。中継装置10は、機能ブロックとして、鍵管理スケジューリング部1a、鍵配布処理部1b、通信テスト処理部1c、スリープ監視部1d、ウェイクアップ操作部1e、暗号処理部1fを備えている。各機能ブロックに関しては、後ほど説明する。なお、図2では、鍵管理スケジューリング部1aをSCHD、鍵配布処理部1bをKDSD、通信テスト処理部1cをCOMT、スリープ監視部1dをSLMD、ウェイクアップ操作部1eをWUMD、暗号処理部1fをCRPUと記載している。しかしながら、本実施形態では、通信テスト処理部1cを備えていなくてもよい。
また、図2に示すように、記憶装置10bの不揮発性メモリには、鍵管理テーブル1g、スケジュールテーブル1h、ドメインメンバテーブル1iが記憶されている。なお、図2では、鍵管理テーブル1gをKMMT、スケジュールテーブル1hをSCHT、ドメインメンバテーブル1iをDOMTと記載している。
鍵管理テーブル1gは、図7に示すように、VLAN-ID毎に、PN-INFO、データ秘匿度(DCOF)、鍵データ(KDAT)、更新日(UPD)が関連付けて記憶されている。また、鍵管理テーブル1gは、新しい鍵データの配布を行うことで、鍵データと更新日が更新される。図7の例では、新しい鍵データの配布前のタイミングt1から、新しい鍵データの配布後のタイミングt5で鍵データと更新日が更新されている。
VLAN-IDは、各ドメイン51~53に個別に割り当てられた識別情報である。ここでは、第1ドメイン51にID1、第2ドメイン52にID2、第3ドメイン53にID3が割り当てられた例を採用している。また、第1ドメインECUにID1、第2ドメインECUにID2、第3ドメインECUにID3が割り当てられているともいえる。つまり、VLAN-IDは、仮想的にネットワーク分離されたグループ毎に割り当てられている。VLAN-IDは、Virtual LAN Identifierの略称である。
PN-INFOは、各ECU21~26(CANクライアント)を個別に起動させる際に用いられる情報である。同じドメインに含まれているECU(コア)は、同じPN-INFOが割り当てられている。ここでは、第1ECU21~第3ECU23に00000001が割り当てられている。また、第4ECU24の一部のコア、第5ECU25、第6ECU26には、00000010が割り当てられている。第4ECU24の一部のコアには、00000100が割り当てられている。PN-INFOは、複数のECU21~26をドメイン毎にウェイクアップさせるための識別情報である。PN-INFOは、Partial Networking- informationの略称である。
データ秘匿度は、各ドメイン51~53で扱う通信データの秘匿性を示す情報である。また、データ秘匿度は、各ドメイン51~53で扱う通信データの重要度を示す情報ともいえる。データ秘匿度は、予め、各ドメイン51~53ごとに設定される。
鍵データは、通信データを暗号化および復号化する際に用いられる鍵である。本実施形態では、鍵データが更新される例を採用している。同じドメインに含まれているECU(コア)は、同じ鍵データが割り当てられている。鍵データは、鍵情報に相当する。更新日は、鍵データを更新した日付である。
図7は、第1ドメイン51と第3ドメイン53に新しい鍵データを配布した例を採用している。鍵管理テーブル1gは、第1ドメイン51の鍵データXXがBBに更新されており、第3ドメイン53の鍵データZZがAAに更新されている。また、鍵管理テーブル1gは、第1ドメイン51と第3ドメイン53の更新日が2020年5月25日に更新されている。なお、各ドメイン51~53への鍵データの配布とは、各ドメインECUへの鍵データの配布と同意である。
スケジュールテーブル1hは、図6に示すように、鍵データの配布対象であるドメインのVLAN-IDと、そのドメインの情報が記憶されている。ドメインの情報としては、VLAN-ID毎に、順序(ORD)、PN-INFO、新鍵データ(NKDAT)、鍵配布結果(DSTR)が関連付けられている。
順序は、鍵データを配布する順序である。新鍵データは、鍵データを更新した後の新たな鍵データである。鍵配布結果は、鍵データの配布が完了したか否かを示す情報である。ここでは、配布する前は0で、配布が終了すると1に更新する。
ここで、中継装置10による鍵データを配布する際のスケジューリングに関して説明する。中継装置10は、鍵データの配布に使える配布時間を計算する。次に、中継装置10は、鍵管理テーブル1gを参照して、各ECU21~26の古さと、データ秘匿度を加味してドメインを並び替える。次に、中継装置10は、配布時間を加味しつつ、どのドメインまで鍵データの配布を実施するかを決める。そして、中継装置10は、鍵データの配布が完了したら、配布にかかった時間を記録する。なお、古さとは、更新日に基づく値である。
一般的に、ドメインによって通信データの秘匿度が異なる。このため、鍵データの配布は、全てのドメインを同一の間隔で行う必要はない。例えば、車両の走行に関わるパワートレインドメインは、サーマルドメインよりも通信データの秘匿度が高い。このため、パワートレインドメインは、サーマルドメインよりも鍵データの配布が重要になる。しかしながら、秘匿度だけでスケジューリングすると、特定のドメインの鍵データだけが古くなってしまう可能性がある。
そこで、中継装置10は、通信データの秘匿度と、鍵データの古さの両方を加味して、鍵データの配布に関するスケジューリングを行う。つまり、中継装置10は、通信データの秘匿度と鍵データの古さを加味して、バランスよく鍵データを配布する。例えば、中継装置10は、鍵データの古さと秘匿度を乗算する。中継装置10は、乗算の結果に応じて、鍵データを配布するドメインの順番を並び替える。秘匿度は、秘匿度が高くなるほど大きな値である。同様に、古さは、古くなるほど大きな値である。よって、中継装置10は、乗算した結果が大きな値であるほど早い順番とする。また、鍵交換の必要性によって、ドメインの順番を並び変えてもよい。鍵交必要性は(秘匿度×w+古さ×(1-w))/10で算出する。なお、w(重み)は、0<w<1である。秘匿度および古さは、例えば1~10の10段階の値を用いる。
このように、本実施形態では、一例として、鍵配布に使える時間を計算して、その時間内に鍵配布できるドメインに関する情報をスケジュールテーブル1hに記憶している。しかしながら、本開示は、これに限定されない。
ドメインメンバテーブル1iは、各ECU21~26ごとの起動状態を示す情報が記憶されている。つまり、各ECU21~26がウェイクアップしているのか、スリープしているのかを示す情報が記憶されている。中継装置10は、各ECU21~26,31~34からのウェイクアップ宣言やスリープ宣言などに応じて、ドメインメンバテーブル1iの記憶内容を更新する。
なお、ウェイクアップ宣言およびスリープ宣言は、各ECU21~26から送信される。各ECU21~26は、自身がウェイクアップすると、ウェイクアップしたことを示すウェイクアップ宣言を送信する。各ECU21~26は、自身がスリープする場合に、スリープすることを示すスリープ宣言を送信する。また、各ECU21~26は、予め決められたスリープ条件を満たすとスリープする。よって、各ECU21~26は、スリープ条件を満たすとスリープ宣言を送信するともいえる。ウェイクアップ宣言は、起動情報に相当する。スリープ宣言は、スリープ情報に相当する。また、ECU24は、コアが異なるドメインに配置されている。よって、ECU24は、コア毎にウェイクアップ宣言とスリープ宣言を送信する。
<ブロードウェイノード>
第1ECU21~第6ECU26は、第1通信バス41を介して通信データをブロードキャスト通信するものである。第1ECU21~第6ECU26は、同様の構成を有している。よって、ここでは、第1ECU21を用いて説明する。第1ECU21は、処理装置20a、記憶装置20b、通信装置20cなどを備えている。第1ECU21は、制御対象である車載装置が接続されていてもよい。
処理装置20aは、CPUなどを採用することができる。処理装置20aは、記憶装置20bに記憶されたプログラムを実行することで演算処理を行う。また、処理装置20aは、記憶装置20bの記憶内容を参照しながら演算処理を行う。これによって、中継装置20は、通常処理や鍵交換処理などの処理動作を実行する。
第1ECU21は、通常処理として、例えば、同じドメイン内のECUとの間で通信データの送受信を行う。また、第1ECU21は、自身に接続されている車載装置の制御を行う。なお、各ECU21~27は、接続されている車載装置や制御内容が異なる。第1ECU21は、鍵交換処理を行うことで、自身が有している鍵データを中継装置10から配布された新しい鍵データに交換する。
記憶装置20bは、不揮発性メモリや揮発性メモリを備えている。不揮発性メモリは、処理装置20aが実行するプログラムが記憶されている。揮発性メモリは、処理装置20aの演算結果などが一時的に記憶される。
通信装置20cは、トランシーバなどを備えている。通信装置20cは、第1通信バス41を介した通信を行う装置である。処理装置20aは、通信装置20cを用いて、中継装置10や同じドメイン内のECUと通信を行う。よって、処理装置20aは、通信装置20cを制御するコントローラを含んでいるといえる。
また、第1ECU21は、処理装置20aが記憶装置20bや通信装置20cを用いつつ演算処理を行うことで複数の機能を実行する。図3には、第1ECU21が実行する機能を機能ブロックとして図示している。第1ECU21は、機能ブロックとして、スリープ処理部2a、暗号処理部2b、鍵受信部2c、通信テスト処理部2dを備えている。各機能ブロックに関しては、後ほど説明する。記憶装置20bの不揮発性メモリには、鍵データ記憶部2eが記憶されている。
なお、図3では、スリープ処理部2aをSLPU、暗号処理部2bをCRPU、鍵受信部2cをKEYR、通信テスト処理部2dをCOMT、鍵データ記憶部2eをKEYSと記載している。しかしながら、本実施形態は、通信テスト処理部2dを備えていなくてもよい。
<非ブロードウェイノード>
第11ECU31~第14ECU34は、第2通信バス42を介して通信データを非ブロードキャスト通信するものである。第11ECU31~第14ECU34は、同様の構成を有している。よって、ここでは、第11ECU31を用いて説明する。第11ECU31は、処理装置30a、記憶装置30b、通信装置30cなどを備えている。第11ECU31は、制御対象である車載装置が接続されていてもよい。
処理装置30aは、CPUなどを採用することができる。処理装置30aは、記憶装置30bに記憶されたプログラムを実行することで演算処理を行う。また、処理装置30aは、記憶装置30bの記憶内容を参照しながら演算処理を行う。

なお、中継装置10、複数のECU21~26複数のECU31~34などのECUは、少なくとも一つのコンピュータを含む制御システムによって提供される。制御システムは、データ通信装置によってリンクされた複数のコンピュータを含む場合がある。コンピュータは、ハードウェアである少なくとも一つのプロセッサ(ハードウェアプロセッサ)を含む。ハードウェアプロセッサは、下記(i)、(ii)、または(iii)により提供することができる。
(i)ハードウェアプロセッサは、少なくとも一つのメモリに格納されたプログラムを実行する少なくとも一つのプロセッサコアである場合がある。この場合、コンピュータは、少なくとも一つのメモリと、少なくとも一つのプロセッサコアとによって提供される。プロセッサコアは、CPU:Central Processing Unit、GPU:Graphics Processing Unit、RISC-CPUなどと呼ばれる。メモリは、記憶媒体とも呼ばれる。メモリは、プロセッサによって読み取り可能な「プログラムおよび/またはデータ」を非一時的に格納する非遷移的かつ実体的な記憶媒体である。記憶媒体は、半導体メモリ、磁気ディスク、または光学ディスクなどによって提供される。プログラムは、それ単体で、またはプログラムが格納された記憶媒体として流通する場合がある。
(ii)ハードウェアプロセッサは、ハードウェア論理回路である場合がある。この場合、コンピュータは、プログラムされた多数の論理ユニット(ゲート回路)を含むデジタル回路によって提供される。デジタル回路は、ロジック回路アレイ、例えば、ASIC:Application Apecific Integrated Circuit、FPGA:Field Programmable Gate Array、SoC:System on a Chip、PGA:Programmable Gate Array、CPLD:Complex Programmable Logic Deviceなどとも呼ばれる。デジタル回路は、プログラムおよび/またはデータを格納したメモリを備える場合がある。コンピュータは、アナログ回路によって提供される場合がある。コンピュータは、デジタル回路とアナログ回路との組み合わせによって提供される場合がある。
(iii)ハードウェアプロセッサは、上記(i)と上記(ii)との組み合わせである場合がある。(i)と(ii)とは、異なるチップの上、または共通のチップの上に配置される。これらの場合、(ii)の部分は、アクセラレータとも呼ばれる。
この開示に記載の処理装置及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。代替的に、この開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。代替的に、この開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
<処理動作>
ここで、車載通信システムの処理動作に関して説明する。ここでは、主に、中継装置10と第1ECU21との鍵交換に関する処理に関して説明する。まず、図4を用いて、車載通信システムの全体的な処理動作の概略を説明する。
ステップS1では、IGオン時に、仮想グループのスリープ検知を行う(起動判定部)。車両は、IGオン時であるため走行中もしくは走行可能な状態である。この場合、中継装置10のスリープ監視部1dは、特定仮想グループ以外の仮想グループがスリープするタイミングを待つ。特定仮想グループ以外がスリープするタイミングは、特定仮想グループを対象として鍵交換するタイミングである。なお、特定仮想グループは、特定ドメインともいえる。また、特定仮想グループは、特定グループに相当する。
中継装置10は、複数の仮想グループに対して鍵交換する場合、複数の仮想グループをそれぞれ個別に鍵交換する。また、特定仮想グループとは、今回の鍵交換対象である仮想グループである。
特定仮想グループに含まれるECUは、一部のCANクライアントである。例えば、特定仮想グループが第1ドメイン51の場合、特定仮想グループ以外のECUは、ECU24~26となる。一方、特定仮想グループのECUは、ECU21~23となる。よって、スリープ監視部1dは、仮想グループのスリープ検知として、特定仮想グループ以外のCANクライアントがスリープしていることを検知する。
なお、IGは、イグニッションスイッチの略称である。特定仮想グループに含まれるECUは、対象ノードに相当する。
ステップS2では、IGオフ時に、CANクライアントのウェイクアップ操作を行う(起動判定部)。中継装置10のウェイクアップ操作部1eは、IGオフ後、全CANクライアントをスリープさせる。そして、中継装置10のウェイクアップ操作部1eは、全CANクライアントがスリープすると、特定仮想グループのECUのみをウェイクアップさせて鍵交換のタイミングを作る。全CANクライアントは、全ECU21~26である。
このように、中継装置10は、複数のECU21~26のうち複数の仮想グループの一つである特定グループに含まれている対象ノードのみが起動しているか否かを判定する。その後、中継装置10は、鍵交換を行う。
ステップS3では、CANクライアントへ鍵配布する(鍵配布部)。鍵配布処理部1bは、特定仮想グループに含まれているCANクライアントに鍵データを配布する。このように、鍵配布処理部1bは、対象ノードのみが起動していると判定すると、対象ノードが含まれている特定仮想グループに固有の鍵データを配布する。
ステップS4では、CANクライアントが鍵受信する(受信部)。特定仮想グループに含まれているCANクライアントの鍵受信部2cは、中継装置10から配布された鍵データを受信する。
ステップS5では、CANクライアントへ鍵更新する(更新部)。特定仮想グループに含まれているCANクライアントは、中継装置10から配布された鍵データを受信すると鍵データを更新する。このように、CANクライアントは、鍵データ記憶部2eに鍵データをすでに記憶している場合に、ステップS4で鍵データを受信すると、記憶している鍵データを受信した鍵データに更新する。
次に、図5、図6、図7を用いて、中継装置10の処理動作に関して詳しく説明する。中継装置10は、所定時間ごとに図5のフローチャートに示す処理を開始する。なお、図5と図6は、便宜的に二つのフローチャートに分けている。しかしながら、図5のフローチャートと図6のフローチャートは、点Aを介して連続的に実行される。つまり、中継装置10は、図5のステップS14でYES判定すると、図6のステップS18へ進む。
なお、本実施形態では、図7のスケジュールテーブル1hを用いるものとする。よって、複数のドメイン51~53のうち、第1ドメイン51と第3ドメイン53が鍵交換の対象となる。つまり、ここでは、特定グループとして第1ドメイン51と第3ドメイン53を採用する。
ステップS10では、IGオンであるか否かを判定する。中継装置10は、イグニッションスイッチがオンであるか否かを判定する。中継装置10は、イグニッションスイッチがオンであると判定するとステップS11へ進み、オンであると判定しないとステップS10を繰り返し実行する。なお、このとき、鍵管理テーブル1gは、図7のタイミングt1の状態とする。
ステップS11では、初期化処理を行う。中継装置10は、自身の初期化処理を行う。ステップS12では、鍵配布スケジューリングを行う。鍵管理スケジューリング部1aは、鍵管理テーブル1gのデータ秘匿度および更新日を参照しつつ、上記のようにスケジューリングする。このとき、鍵管理スケジューリング部1aは、図7のタイミングt2に示すスケジュールテーブル1hを生成する。
ステップS13では、通常処理を行う。中継装置10は、同じドメイン内のECU間での送受信される通信データを中継する。このとき、中継装置10は、例えば暗号処理部1fによって、通信データを暗号化して送信したり、受信した通信データを復号化したりする。
ステップS14では、IGオフであるか否かを判定する。中継装置10は、イグニッションスイッチがオフであるか否かを判定する。中継装置10は、イグニッションスイッチがオフであると判定するとステップS18へ進み、オフであると判定しないとステップS15へ進む。
ステップS15では、特定仮想グループのみがウェイクアップしているか否かを判定する(起動判定部)。スリープ監視部1dは、ステップS12で生成したスケジュールテーブル1hを参照する。タイミングt2のスケジュールテーブル1hでは、第1ドメイン51と第3ドメイン53の両方で鍵データの配布が終了しておらず、順序1が第3ドメイン53である。よって、スリープ監視部1dは、第3ドメイン53を特定仮想グループと認識する。このため、ここでは、ECU24の一部のコアが対象ノードに相当する。なお、特定仮想グループのみがウェイクアップしているか否かとは、特定仮想グループに含まれているECUがウェイクアップしているか否かと同意である。
よって、スリープ監視部1dは、複数のECU21~26のうち複数のドメイン51~53の一つである第3ドメイン53に含まれているECU24の一部のコアのみが起動しているか否かを判定する。スリープ監視部1dは、ドメインメンバテーブル1iを参照して、ECU24の一部のコアのみが起動しているか否かを判定する。つまり、スリープ監視部1dは、複数のECU21~26からのウェイクアップ宣言やスリープ宣言に基づいて、ECU24の一部のコアのみが起動しているか否かを判定する。
そして、スリープ監視部1dは、ECU24の一部のコアのみが起動していると判定するとステップS16へ進む。また、スリープ監視部1dは、ECU24の一部のコアのみが起動していると判定しないとステップS13へ戻る。
なお、中継装置10は、車両のイグニッションスイッチがオンの場合とオフの場合の少なくとも一方において、対象ノードのみが起動しているか否かを判定する。また、ステップ15は、イグニッションスイッチがオンの場合である。この場合、中継装置10は、ウェイクアップ宣言およびスリープ宣言に基づいて、対象ノードのみが起動しているか否かを判定する。これによって、中継装置10は、容易に対象ノードのみが起動しているか否かを判定できる。
ステップS16では、該当ドメインの鍵データを作成する。ここでの該当ドメインは、第3ドメイン53である。よって、鍵配布処理部1bは、第3ドメイン53のECU24の一部のコアに配布するための鍵データを作成する。
ステップS17では、鍵データを配布する(鍵配布部)。鍵配布処理部1bは、ステップS16で生成した鍵データを配布する。鍵データの配布対象は、第3ドメイン53(ECU24の一部のコア)である。第3ドメイン53に配布する鍵データは、第3ドメイン53に固有の鍵データ(AA)である。このように、中継装置10は、対象ノードであるECU24の一部のコアのみが起動していると判定すると、第3ドメイン53に固有の鍵データを配布する。なお、鍵配布処理部1bは、通信装置10cおよび第1通信バス41を介して、鍵データを送信する。
ステップS18は、イグニッションスイッチがオフであると判定された場合に実行される。よって、中継装置10は、イグニッションスイッチがオンの場合とオフの場合の両行で鍵交換を行う。しかしながら、本開示は、イグニッションスイッチがオンの場合のみ、鍵交換を行ってもよい。また、本開示は、イグニッションスイッチがオフの場合のみ、鍵交換を行ってもよい。
ステップS18では、鍵配布スケジューリングを行う。鍵管理スケジューリング部1aは、ステップS17を行うと、鍵配布結果を更新する。よって、鍵データの配布後のスケジュールテーブル1hは、図7のタイミングt3に示すように、第3ドメイン53の鍵配布結果が1に更新される。
ステップS19では、各ドメインの鍵データを作成する。ここでの各ドメインは、スケジュールテーブル1hにおいて、鍵配布結果が配布前となっているドメインである。よって、本実施形態では、各ドメインである第1ドメイン51の鍵データを作成する。鍵配布処理部1bは、第1ドメイン51のECU21~23に配布するための鍵データを作成する。
ステップS20では、全ECUのスリープが完了したか否かを判定する(スリープ判定部)。ここでの全ECUは、全CANクライアントである。また、スリープ宣言を受信した場合に、スリープが完了しているとみなす。
スリープ監視部1dは、ドメインメンバテーブル1iを参照して、全ECU21~26のスリープが完了したか否かを判定する。つまり、スリープ監視部1dは、全CU21~26からのスリープ宣言に基づいて、全CU21~26がスリープしたか否かを判定する。スリープ監視部1dは、全ECUのスリープが完了したと判定するとステップS21へ進み、完了したと判定しないとステップS20を繰り返す。
中継装置10は、イグニッションスイッチがオフになると、特定仮想グループのみをウェイクアップさせるために、全CU21~26がスリープしたか否かを確認する。つまり、中継装置10は、全CANクライアントがスリープするのを待ってステップS21へ進む。
ステップS21では、特定仮想グループのみをウェイクアップ操作する(起動部)。ウェイクアップ操作部1eは、ステップS20で全CANクライアントがスリープしていると判定された場合に、特定仮想グループのみを起動させる。ウェイクアップ操作部1eは、ステップS18で生成したスケジュールテーブル1hを参照する。タイミングt3のスケジュールテーブル1hでは、第3ドメイン53が鍵データの配布が終了しており、第1ドメイン51が鍵データの配布が終了していない。よって、ウェイクアップ操作部1eは、第1ドメイン51を特定仮想グループと認識する。このため、ここでは、ECU21~23が対象ノードに相当する。ウェイクアップ操作部1eは、第1ドメイン51であるECU21~23をウェイクアップさせる。
ステップS22では、特定仮想グループがウェイクアップしたか否かを判定する(起動判定部)。ステップS22は、ステップS15と同様である。しかしながら、ここでの特定仮想グループは、第1ドメイン51である。
ステップS23では、ドメイン内ECUに鍵データを配布する(鍵配布部)。ステップS23は、ステップS17と同様である。ここでのドメインは、ステップS22で対象とした特定仮想グループである。なお、鍵管理スケジューリング部1aは、ステップS23を行うと、鍵配布結果を更新する。よって、鍵データの配布後のスケジュールテーブル1hは、図7のタイミングt4に示すように、第1ドメイン51の鍵配布結果も1に更新される。
ステップS24では、鍵配布スケジュールを完遂したか否かを判定する。鍵管理スケジューリング部1aは、スケジュールテーブル1hを参照して、鍵データを配布予定である全ドメインの鍵配布結果が1であるか否かを判定する。鍵管理スケジューリング部1aは、全ドメインの鍵配布結果が1であると判定した場合、鍵配布スケジュールを完遂したとみなしてステップS25へ進む。鍵管理スケジューリング部1aは、全ドメインの鍵配布結果が1であると判定しなかった場合、鍵配布スケジュールを完遂したとみなさずにステップS20へ戻る。よって、中継装置10は、複数の特定仮想グループのそれぞれに対して、個別に鍵データを配布する。ここでの全ドメインは、第1ドメイン51と第3ドメイン53である。
ステップS25では、鍵データを配布した全ドメインをウェイクアップ操作する(全起動部)。これは、鍵データを配布したECUに鍵データの更新を指示するためである。ウェイクアップ操作部1eは、鍵データを配布した全ドメインをウェイクアップさせる。つまり、ウェイクアップ操作部1eは、鍵データを配布した全ドメインに含まれる全CANクライアントをウェイクアップさせる。また、ウェイクアップ操作部1eは、PN-INFOを指定してウェイクアップさせる。
ここでの、全CANクライアントは、ECU21~23,ECU24の一部のコアである。なお、鍵データを配布した全ドメインは、全特定仮想グループである。全特定仮想グループは、全特定グループに相当する。
ステップS26では、ウェイクアップが完了したか否かを判定する(全起動部)。ウェイクアップ操作部1eは、ドメインメンバテーブル1iを参照して、ステップS25でウェイクアップ操作した全CANクライアントのウェイクアップが完了したか否かを判定する。つまり、ウェイクアップ操作部1eは、ECU21~23,ECU24の一部のコアからのウェイクアップ宣言に基づいてウェイクアップが完了したか否かを判定する。ウェイクアップ操作部1eは、ウェイクアップが完了したと判定するとステップS27へ進み、完了したと判定しないとステップS25に戻る。
ステップS27では、鍵更新開始要求を行う(更新指示部)。鍵配布処理部1bは、ステップS25でウェイクアップさせたCANクライアントに、鍵データの更新を指示する指示情報を送信することで鍵更新開始要求を行う。このとき、鍵配布処理部1bは、ステップS25でウェイクアップさせた全CANクライアントに同じタイミングで鍵更新開始要求を行う。なお、鍵配布処理部1bは、通信装置10cおよび第1通信バス41を介して、指示情報を送信する。
このように、中継装置10は、鍵データの配布後に、鍵データの配布対象の全特定仮想グループに含まれるCANクライアントのみを起動させる。そして、中継装置10は、鍵データを配布した全ドメインをウェイクアップさせると、鍵データの配布対象の全特定仮想グループに含まれるCANクライアントに対して、鍵データの更新を指示する指示情報を送信する。
ステップS28では、鍵データを配布した全ECUから更新応答があったか否かを判定する。鍵配布処理部1bは、スケジュールテーブル1hとCANクライアントからの更新応答に基づいて、鍵データを配布した全ECUから更新応答があったか否かを判定する。鍵配布処理部1bは、鍵データを配布した全ECUから更新応答があったと判定すると図5、図6のフローチャートを終了する。鍵配布処理部1bは、鍵データを配布した全ECUから更新応答があったと判定しないとステップS28を繰り返す。
次に、図8、図9、図10、図11を用いて、CANクライアントの処理動作に関して説明する。CANクライアントであるECU21~26は、全て同じ処理を行う。よって、図8では、第1ECU21を用いて説明する。第1ECU21は、ウェイクアップするたびに、図8のフローチャートに示す処理を開始する。
ステップS30では、ウェイクアップ宣言を行う(起動通知部)。第1ECU21は、ウェイクアップ宣言を中継装置10に送信する。なお、スリープ処理部2aは、通信装置20cおよび第1通信バス41を介して、ウェイクアップ宣言を送信する。また、第1ECU21は、機能ブロックとして、ウェイクアップ宣言を送信するウェイクアップ処理部を備えているともいえる。
ステップS32では、更新開始要求があるか否かを判定する。鍵受信部2cは、中継装置10から送信される指示情報を受信した場合、更新開始要求ありと判定しステップS44へ進む。鍵受信部2cは、中継装置10から送信される指示情報を受信してない場合、更新開始要求ありと判定せずにステップS34へ進む。なお、第1ECU21は、ステップS32でNO判定すると通常処理を行ってステップS34へ進んでもよい。
ステップS34では、スリープ条件を満たすか否かを判定する。スリープ処理部2aは、スリープ条件を満たすと判定するステップS36へ進み、満たすと判定しないとステップS40へ進む。
ステップS36では、スリープ宣言を行う(スリープ通知部)。スリープ処理部2aは、スリープする際に、スリープ宣言を中継装置10に送信する。なお、スリープ処理部2aは、通信装置20cおよび第1通信バス41を介して、スリープ宣言を送信する。
ステップS38では、スリープする。スリープ処理部2aは、スリープ宣言を送信した後に、自身でスリープする。
ステップS40では、鍵データを受信したか否かを判定する。鍵受信部2cは、中継装置10から送信された鍵データを受信した場合はステップS42へ進み、受信してない場合はステップS34へ戻る。なお、鍵受信部2cは、第1通信バス41および通信装置20cを介して、鍵データを受信する(受信部)。ここでの鍵データは、既に記憶している鍵データではなく、既に記憶している鍵データを更新するための鍵データである。つまり、鍵データは、中継装置10によって新たに生成された鍵データ(新しい鍵データ)である。
ステップS42では、鍵データを一時的に保存する(一時保存部)。第1ECU21は、鍵データを受信すると、鍵データを更新する前に、鍵データを一時的に保存する。第1ECU21は、記憶装置20bの揮発性メモリなどに受信した鍵データを一時的に保存しておく。
ステップS44では、鍵データを更新する(更新部)。鍵受信部2cは、指示情報を受信して更新開始要求ありと判定すると、鍵データを更新する。鍵受信部2cは、鍵データを既に鍵データ記憶部2eに記憶している場合、鍵データ記憶部2eに記憶している鍵データを、受信した鍵データに更新する。例えば、第1ECU21は、第1ドメイン51に含まれている。よって、第1ECU21は、鍵データをXXからBBに更新する。
ステップS46では、更新応答を行う。第1ECU21は、鍵データの更新が終わると、中継装置に更新応答を行う。第1ECU21は、第1通信バス41および通信装置20cを介して、更新応答を行う。第1ECU21は、更新が終わったことを示す終了情報を送信することで更新応答を行う。
ここで、CANクライアントの処理動作に関して、図9~図11を用いて説明する。図9~図11は、ドメイン51~53に含まれているCANクライアントの処理動作を示している。図9は、イグニッションスイッチがオンのときに鍵交換する場合を示している。図10は、イグニッションスイッチがオフのときに鍵交換する場合を示している。また、図11は、鍵データを一時保存しない場合を示している。なお、以下においては、各CANクライアントをまとめてドメイン名で記載する。例えば、第1ドメイン51に含まれるCANクライアントは、第1ドメイン51と記載する。
図9に示すように、イグニッションスイッチがオンの期間中、第1ドメイン51のみが鍵データを受信(KYR)し、鍵データを一時的に保存(TPS)する。このとき、第2ドメイン52と第3ドメイン53は、スリープ状態(SLS)である。
そして、イグニッションスイッチがオフすると、第2ドメイン52がウェイクアップ操作(WUO)され、鍵データを受信し、鍵データを一時的に保存する。このとき、第1ドメイン51と第3ドメイン53は、スリープ状態である。その後、第3ドメイン53がウェイクアップ操作され、鍵データを受信し、鍵データを一時的に保存する。このとき、第1ドメイン51と第2ドメイン52は、スリープ状態である。
そして、第1ドメイン51と第2ドメイン52は、ウェイクアップ操作される。これによって、全ドメイン51~53は、ウェイクアップする。この状態で、各ドメイン51~53は、鍵データ記憶部2eに記憶している鍵データを、一時的に保存していた鍵データに更新(KYU)する。
図10に示すように、イグニッションスイッチがオフの期間中、各ドメイン51~52が順番にウェイクアップ操作され、鍵データを受信し、鍵データを一時的に保存する。そして、全ドメイン51~53が鍵データを一時的に保存すると、全ドメイン51~53がウェイクアップする。この状態で、各ドメイン51~53は、鍵データ記憶部2eに記憶している鍵データを、一時的に保存していた鍵データに更新する。
このように、本実施形態では、中継装置10からCANクライアントへ鍵データの更新を指示している(S27)。そして、本実施形態では、鍵データを一時的に保存しておき、複数の特定仮想グループのCANクライアントがまとめて鍵データを更新する例を採用している。
しかしながら、本開示は、これに限定されない。CANクライアントは、変形例として、受信したデータを一時的に保存しなくてもよい。この場合、CANクライアントは、図8のステップS32,S42の実行が不要となる。また、CANクライアントは、ステップS40でYES判定するとステップS44,46を実行して、ステップS34に戻る。つまり、CANクライアントは、ステップS32でYES判定すると実行していたステップS44,46を、ステップS40でYES判定すると実行する。一方、中継装置10は、鍵データの更新を指示しなくてもよい。つまり、中継装置10は、図6のステップS25~S27の実行が不要になる。
この場合、各ドメイン51~52は、図11に示すように、イグニッションスイッチがオフの期間中、各ドメイン51~52が順番にウェイクアップ操作され、鍵データを受信し、鍵データを更新する。つまり、各ドメイン51~53は、他のドメインが鍵データを受信し、鍵データを更新する間、スリープ状態となる。このように、鍵データを一時的に保存しない場合、各ドメイン51~53は、それぞれが異なるタイミングで鍵データの更新を行う。
これに対して、図9、図10に示すように、鍵データを一時的に保存する場合、各ドメイン51~53は、一時的に保存していた鍵データを用いて、同じタイミングで鍵データを更新できる。よって、車載通信システムは、各ドメイン51~53が異なるタイミングで鍵データを更新する場合よりも、全ドメイン51~53が鍵データの更新を完了するまでの時間を短縮できる。
<効果>
以上のように、車載通信システムの中継装置10は、特定仮想グループに含まれているCANクライアントのみが起動している場合に、特定仮想グループに固有の鍵データを配布する。よって、車載通信システムは、特定仮想グループに含まれているCANクライアントのみが、特仮想定グループに固有の鍵データを受信する。つまり、車載通信システムは、複数のCANクライアントが他の仮想グループに固有の鍵情報を受信することを防ぐことができる。
このため、鍵データで暗号化された通信データは、その鍵データを受信した特定仮想グループのCANクライアントのみが復号化することができる。よって、車載通信システムは、ブロードキャスト通信を行う複数のブロードキャストノードを含む構成において、グループ毎に仮想的なネットワーク分離ができる。
また、車載通信システムは、上記のようにネットワーク分離ができるため、物理的に通信バスを分けることなくドメイン集権化を実現できる。よって、車載通信システムは、物理的に通信バスを分ける場合よりもコストを削減できる。
なお、本実施形態では、ECU統合された第4ECU24を採用している。しかしながら、本開示は、これに限定されず、ECU統合されていなくてもグループ毎に仮想的なネットワーク分離ができる。
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本開示のその他の形態として、第2実施形態、第3実施形態に関して説明する。上記実施形態および第2実施形態、第3実施形態は、それぞれ単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本開示は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
(第2実施形態)
図12~図15を用いて、第2実施形態の車載通信システムに関して説明する。第2実施形態の車載通信システムは、通信テスト(TST)を行う点が上記実施形態と異なる。構成や処理動作は、上記実施形態と同様である。なお、図13~図15では、便宜的に第1ドメイン51と第2ドメイン52のみを図示している。
中継装置10は、機能ブロックとして、通信テスト処理部1cを備えている。通信テスト処理部1cは、CANクライアントに通信テストの開始要求を行う。通信テスト処理部1cは、通信装置10cおよび第1通信バス41を介して、通信テストの開始要求を示すテスト指示情報を送信する。また、通信テスト処理部1cは、図6のステップS26とステップS27の間で通信テストの開始要求を行う。
これに対して、CANクライアントは、通信テスト処理部2dを備えている。通信テスト処理部2dは、通信テストの開始要求に応じて通信テストを行う。また、通信テスト処理部2dは、鍵データの更新前に、一時的に保存した鍵データを用いて通信テストを行う。
通信テストは、ドメイン51~53毎に、Ethernetクライアントを含めて行われる。通信テストは、鍵データが正常であるか否かを確認するテストである。また、各ドメイン51~53は、通信テストにおいて、鍵データが正常であることを確認したうえで、鍵データの更新を行う。
まず、図12を用いて、CANクライアントの処理動作に関して説明する。ここでは、図8と異なる点のみを説明する。第1ECU21は、ステップS42の後にステップS43を行う。ステップS43では、通信テストを行う(テスト部)。第1ECU21は、鍵データの更新前に、一時的に保存した鍵データを用いて通信テストを行う。
次に、図13~図15は、ドメイン51,52に含まれているCANクライアントの処理動作を示している。図13は、イグニッションスイッチがオンのときに鍵交換する場合を示している。図14は、イグニッションスイッチがオフのときに鍵交換する場合を示している。また、図15は、鍵データを一時保存しない場合を示している。なお、以下においては、上記実施形態と同様、各CANクライアントをまとめてドメイン名で記載する。
図13に示すように、イグニッションスイッチがオンの期間中、第1ドメイン51のみが鍵データを受信(KYR)し、鍵データを一時的に保存(TPS)する。第2ドメイン52は、スリープ状態(SLS)である。
イグニッションスイッチがオフすると、第2ドメイン52がウェイクアップ操作(WUO)され、鍵データを受信し、鍵データを一時的に保存する。このとき、第1ドメイン51は、スリープ状態である。
そして、第1ドメイン51は、ウェイクアップ操作される。これによって、全ドメイン51,52は、ウェイクアップする。この状態で、各ドメイン51,52は、一時的に保存していた鍵データを用いて通信テストを行う。そして、各ドメイン51,52は、通信テスト後に、鍵データの更新を行う。
図14に示すように、イグニッションスイッチがオフの期間中、各ドメイン51,52が順番にウェイクアップ操作され、鍵データを受信し、鍵データを一時的に保存する。そして、全ドメイン51,52が鍵データを一時的に保存すると、全ドメイン51,52がウェイクアップする。この状態で、各ドメイン51,52は、一時的に保存していた鍵データを用いて通信テストを行う。そして、各51,52は、通信テスト後に、鍵データの更新を行う。
また、CANクライアントは、上記実施形態の変形例と同様、鍵データを一時的に保存しなくてもよい。各ドメイン51,52は、図15に示すように、鍵データを受信すると、通信テストを行い、その後、鍵データの更新を行う。この場合、イグニッションスイッチがオフの期間中、各ドメイン51,52が順番にウェイクアップ操作され、鍵データを受信し、通信テストを行い、鍵データの更新を行う。つまり、各ドメイン51,52は、他のドメインが鍵データを受信し、通信テストおよび鍵データの更新を行う間、スリープ状態となる。このように、鍵データを一時的に保存しない場合、各ドメイン51,52は、それぞれが異なるタイミングで通信テストおよび鍵データの更新を行う。
これに対して、図13、図14に示すように、鍵データを一時的に保存する場合、各ドメイン51,52は、一時的に保存していた鍵データを用いて、同じタイミングで通信テストと鍵データの更新を行うことができる。よって、車載通信システムは、各ドメイン51,52が異なるタイミングで通信テストと鍵データを更新する場合よりも、全ドメイン51,52が鍵データの更新を完了するまでの時間を短縮できる。また、車載通信システムは、鍵データが適切であることを確認しつつ、全ドメイン51,52が鍵データの更新を完了するまでの時間を短縮できる。
(第3実施形態)
図16を用いて、第3実施形態の車載通信システムに関して説明する。第3実施形態の車載通信システムは、複数のCANクライアントを備えており、Ethernetクライアントを備えていない点が第1および第2実施形態と異なる。
車載通信システムは、二つの通信バス41と、各通信バス41を介して通信データをブロードキャスト通信する複数のECU21~27と、少なくとも二つのCANクライアントを含むドメイン51,52を複数形成する中継装置101と、を備えている。つまり、中継装置101は、仮想グループとして、二つのドメイン51,52を形成する。CANクライアントは、ブロードキャストノードに相当する。中継装置101は、通信制御装置に相当する。
中継装置101は、第1および第2実施形態の中継装置100と同様の処理動作を行う。複数のECU21~27は、第1および第2実施形態の各CANクライアントと同様の処理動作を行う。よって、中継装置101は、図5、図6のフローチャートに示す処理を行う。一方、複数のECU21~27は、図8のフローチャートに示す処理を行う。
このように構成された、車載通信システムは、第1および第2実施形態の各CANクライアントと同様の効果を奏することができる。
なお、本実施形態では、二つの通信バス41を備えた例を採用している。しかしながら、本開示は、これに限定されず通信バス41を一つのみ備えた構成でも採用できる。
また、本実施形態では、二つのドメイン51,52を備えた例を採用している。しかしながら、本開示は、これに限定されず三つ以上のドメインを備えていてもよい。
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態が本開示に示されているが、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
10…中継装置、10a…処理装置、10b…記憶装置、10c…通信装置、1a…鍵管理スケジューリング部、1b…鍵配布処理部、1c…通信テスト処理部、1d…スリープ監視部、1e…ウェイクアップ操作部、1f…暗号処理部、1g…鍵管理テーブル、1h…スケジュールテーブル、1i…ドメインメンバテーブル、21…第1ECU、22…第2ECU、23…第3ECU、24…第4ECU、25…第5ECU、26…第6ECU、27…第7ECU、20a…処理装置、20b…記憶装置、20c…通信装置、2a…スリープ処理部、2b…暗号処理部、2c…鍵受信部、2d…通信テスト処理部、2e…鍵データ記憶部、31…第11ECU、32…第12ECU、33…第13ECU、34…第14ECU、30a…処理装置、30b…記憶装置、30c…通信装置、41…第1通信バス、42…第2通信バス、51…第1ドメイン、52…第2ドメイン、53…第3ドメイン

Claims (10)

  1. 第1通信線(41)と、前記第1通信線を介して通信データをブロードキャスト通信する複数のブロードキャストノード(21~26)と、第2通信線(42)と、前記第2通信線を介して通信データを非ブロードキャスト通信する非ブロードキャストノード(31~34)と、少なくとも一つの前記ブロードキャストノードと少なくとも一つの前記非ブロードキャストノードとを含む第1仮想グループと、少なくとも一つの前記ブロードキャストノードを含む第2仮想グループを少なくとも含む複数の仮想グループを形成するとともに、前記ブロードキャストノードと前記非ブロードキャストノードとの間で前記通信データを中継する中継装置(10)と、を備えた車両に搭載可能な車載通信システムであって、
    前記中継装置は、
    複数の前記ブロードキャストノードのうち複数の前記仮想グループの一つである特定グループに含まれている対象ノードのみが起動しているか否かを判定する起動判定部(S1,S2,S15,S22)と、
    前記対象ノードのみが起動していると判定すると、前記対象ノードが送受信する前記通信データを暗号化および復号化するための前記特定グループに固有の鍵情報を配布する鍵配布部(S3,S17,S23)と、を含み、
    複数の前記ブロードキャストノードは、
    前記通信データを暗号化および復号化するために、起動中にのみ前記鍵情報を受信する受信部(S4)を備えている車載通信システム。
  2. 前記ブロードキャストノードは、前記鍵情報をすでに記憶している場合に、前記受信部にて前記鍵情報を受信すると、記憶している前記鍵情報を受信した前記鍵情報に更新する更新部(S5,S44)を、さらに備えている請求項1に記載の車載通信システム。
  3. 前記起動判定部は、前記車両のイグニッションスイッチがオンの場合とオフの場合の少なくとも一方において、前記対象ノードのみが起動しているか否かを判定する請求項2に記載の車載通信システム。
  4. 前記ブロードキャストノードは、自身がウェイクアップしたことを示す起動情報および自身がスリープすることを示すスリープ情報を前記中継装置に送信する起動通知部(S30,S36)をさらに備えている請求項3に記載の車載通信システム。
  5. 前記起動判定部は、前記オンの場合、前記起動情報と前記スリープ情報に基づいて、前記対象ノードのみが起動しているか否かを判定する請求項4に記載の車載通信システム。
  6. 前記中継装置は、
    前記オフの場合に、前記スリープ情報に基づいて、全ての前記ブロードキャストノードがスリープしているか否かを判定するスリープ判定部(S20)と、
    全ての前記ブロードキャストノードがスリープしていると判定された場合に、前記対象ノードのみを起動させる起動部(S21)と、
    前記起動判定部は、前記オフの場合、前記起動情報と前記スリープ情報に基づいて、前記特定グループに含まれている前記対象ノードのみが起動しているか否かを判定する請求項4または5に記載の車載通信システム。
  7. 前記ブロードキャストノードは、
    前記受信部にて前記鍵情報を受信すると、前記鍵情報を更新する前に、前記鍵情報を一時的に保存する一時保存部(S42)を、さらに備え、
    前記鍵配布部は、複数の前記特定グループのそれぞれに対して、個別に前記鍵情報を配布するものであり、
    前記中継装置は、
    前記鍵情報を配布後に、前記鍵情報の配布対象の全特定グループに含まれる前記対象ノードのみを起動させる全起動部(S25,S26)と、
    前記全起動部によって前記鍵情報の配布対象の全特定グループに含まれる前記対象ノードのみを起動させた後に、前記鍵情報の配布対象の全特定グループに含まれる前記対象ノードに対して、前記鍵情報の更新を指示する指示情報を送信する更新指示部(S27)と、をさらに備え、
    前記更新部は、前記指示情報を受信すると、受信した前記鍵情報に更新する請求項6に記載の車載通信システム。
  8. 前記ブロードキャストノードは、
    前記鍵情報の更新前に、一時的に保存した前記鍵情報を用いて通信テストを行うテスト部(S43)をさらに備えている請求項7に記載の車載通信システム。
  9. 前記中継装置は、前記仮想グループ毎に、前記鍵情報と、前記鍵情報の更新日時と、前記仮想グループに含まれている前記ブロードキャストノードと前記非ブロードキャストノードとで通信される前記通信データの秘匿度とを関連付けて記憶しており、
    前記中継装置は、前記鍵情報の配布に使える配布時間を計算し、前記更新日時と前記秘匿度から、複数の前記仮想グループのうち前記配布時間内に前記鍵情報を配布する前記特定グループを決めるスケジューリング部(S12,S18)をさらに備えている請求項1~8のいずれか2項に記載の車載通信システム。
  10. 通信線(41)と、前記通信線を介して通信データをブロードキャスト通信する複数のブロードキャストノード(21~27)と、少なくとも二つの前記ブロードキャストノードを含む仮想グループを複数形成する通信制御装置(101)と、を備えた通信システムであって、
    前記通信制御装置は、
    複数の前記ブロードキャストノードのうち複数の前記仮想グループの一つである特定グループに含まれている対象ノードのみが起動しているか否かを判定する起動判定部(S1,S2,S15,S22)と、
    前記対象ノードのみが起動していると判定すると、前記対象ノードが送受信する前記通信データを暗号化および復号化するための前記特定グループに固有の鍵情報を配布する鍵配布部(S3,S17,S23)と、を含み、
    複数の前記ブロードキャストノードは、
    前記通信データを暗号化および復号化するために、起動中にのみ前記鍵情報を受信する受信部(S4)を備えている車載通信システム。
JP2021130048A 2021-08-06 2021-08-06 車載通信システム Pending JP2023024013A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021130048A JP2023024013A (ja) 2021-08-06 2021-08-06 車載通信システム
DE102022117990.7A DE102022117990A1 (de) 2021-08-06 2022-07-19 Fahrzeugeigenes kommunikationssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021130048A JP2023024013A (ja) 2021-08-06 2021-08-06 車載通信システム

Publications (1)

Publication Number Publication Date
JP2023024013A true JP2023024013A (ja) 2023-02-16

Family

ID=84975325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021130048A Pending JP2023024013A (ja) 2021-08-06 2021-08-06 車載通信システム

Country Status (2)

Country Link
JP (1) JP2023024013A (ja)
DE (1) DE102022117990A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3142315A1 (fr) * 2022-11-23 2024-05-24 Psa Automobiles Sa Réseau de communications Ethernet avec plusieurs procédures de sécurisation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6729426B2 (ja) 2017-01-30 2020-07-22 株式会社デンソー 中継装置

Also Published As

Publication number Publication date
DE102022117990A1 (de) 2023-02-09

Similar Documents

Publication Publication Date Title
EP3528428B1 (en) In-vehicle gateway
JP2022066260A (ja) 車載更新装置、更新処理プログラム、プログラムの更新方法及び車載更新システム
DE102017124399A1 (de) Hardware-sicherheit für eine elektronische steuereinheit
CN103167054A (zh) 用于管理车辆内使用的以太网通信网络的系统和方法
JP6525109B2 (ja) 制御装置、転送方法、およびコンピュータプログラム
CN107920007B (zh) 车辆网络中的多个通信节点的第一通信节点及其操作方法
JPWO2007043608A1 (ja) 車載データベース分配ノードおよび車載データベースシステム
EP2677720B1 (en) A method, a vehicle mountable controller and a device for operating a vehicle mountable controller in a computer network
JP2018181377A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP2023024013A (ja) 車載通信システム
WO2010004765A1 (ja) 中継装置、通信システム及び通信方法
JP2011040912A (ja) 車載ネットワーク装置
JP2007207026A (ja) Dma転送装置
JP2019036855A (ja) 制御装置、制御方法、およびコンピュータプログラム
US20200220724A1 (en) Key management device, and communication apparatus
WO2017098643A1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP5110998B2 (ja) 分配装置、通信システム及び通信方法
JP2024040359A (ja) 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム
JP2009049928A (ja) 中継装置、通信システム及び通信方法
JP2018181376A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
US20230300213A1 (en) Information transmission method and communication device
JPS6315354A (ja) 分散システムにおけるタイマ一致化管理方式
WO2008010666A1 (en) System and method for managing domain-state information
US20190305939A1 (en) Vehicle communication system and vehicle communication method
WO2019142288A1 (ja) Plc、ネットワークユニット、cpuユニット、及びデータ転送方法