IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社オートネットワーク技術研究所の特許一覧 ▶ 住友電装株式会社の特許一覧 ▶ 住友電気工業株式会社の特許一覧

特開2023-168684検出装置、車載装置、検出方法及びコンピュータプログラム
<>
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図1
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図2
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図3
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図4
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図5
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図6
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図7
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図8
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図9
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図10
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図11
  • 特開-検出装置、車載装置、検出方法及びコンピュータプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023168684
(43)【公開日】2023-11-29
(54)【発明の名称】検出装置、車載装置、検出方法及びコンピュータプログラム
(51)【国際特許分類】
   G06F 21/55 20130101AFI20231121BHJP
   B60R 16/023 20060101ALI20231121BHJP
【FI】
G06F21/55
B60R16/023 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022079938
(22)【出願日】2022-05-16
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000280
【氏名又は名称】弁理士法人サンクレスト国際特許事務所
(72)【発明者】
【氏名】咸 元俊
(57)【要約】
【課題】より確実に不正侵入を検出する。
【解決手段】車両に搭載されるECUと通信線により接続されている検出装置であって、第1発振器の発振に基づいて第1発振信号を出力する発振回路と、前記第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた検出値を判定部へ出力する検出回路と、を備え、前記判定部は、前記検出値が、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた正常値と相違する場合に、前記通信線に不正侵入があることを判定する、検出装置。
【選択図】図2
【特許請求の範囲】
【請求項1】
車両に搭載されるECUと通信線により接続されている検出装置であって、
第1発振器の発振に基づいて第1発振信号を出力する発振回路と、
前記第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた検出値を判定部へ出力する検出回路と、
を備え、
前記判定部は、前記検出値が、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた正常値と相違する場合に、前記通信線に不正侵入があることを判定する、
検出装置。
【請求項2】
前記判定部は、前記検出値が前記正常値から所定値を超えて相違する場合に、前記通信線に不正侵入があることを判定する、
請求項1に記載の検出装置。
【請求項3】
前記検出回路は、
前記第1発振信号と前記第2発振信号とが入力され、前記第1発振信号の周波数と前記第2発振信号の周波数との差分を検出する第1回路と、
前記第1回路において検出された差分を前記検出値に変換する第2回路と、
を含む、
請求項2に記載の検出装置。
【請求項4】
前記受信信号は、前記第2発振信号とデータ信号とが重畳された信号であり、
前記検出回路は、前記受信信号から前記第2発振信号を抽出して、前記第1回路に出力する抽出回路をさらに含む、
請求項3に記載の検出装置。
【請求項5】
前記正常値が予め記憶されている記憶部と、
前記判定部と、
をさらに備える、
請求項1から請求項4のいずれか1項に記載の検出装置。
【請求項6】
前記記憶部に記憶されている前記正常値を変更する変更部をさらに備え、
前記変更部は、第1モードと第2モードとを含む複数の動作モードを選択可能であり、
前記第1モードが選択されている場合、前記変更部は、前記記憶部に記憶されている前記正常値を、前記第1モードが選択されている間に前記検出回路から出力される前記検出値に変更し、
前記第2モードが選択されている場合、前記変更部は、前記記憶部に記憶されている前記正常値を変更しない、
請求項5に記載の検出装置。
【請求項7】
前記判定部は、前記第1発振器及び前記第2発振器のうち少なくとも一方の温度を検出する温度センサの検出温度に基づいて、前記正常値を決定する、
請求項5に記載の検出装置。
【請求項8】
前記第2発振器の温度を調整する温度調整部に指示を行う温度制御部をさらに備え、
前記検出回路は、
前記第1発振信号の周波数と、前記温度制御部の指示により前記第2発振器が第1の所定温度に調整されている間に受信される前記受信信号に含まれる前記第2発振信号の周波数と、の差分に応じた前記検出値である第1の検出値を前記判定部へ出力し、
前記判定部は、前記第1の検出値が、前記第1発振信号の周波数と、前記温度制御部の指示により前記第2発振器が前記第1の所定温度に調整されている間に前記第2発振器の発振に基づいて生成される前記第3発振信号の周波数と、の差分に応じた前記正常値である第1の正常値から所定値を超えて相違する場合に、前記通信線に不正侵入があることを判定する、
請求項1から請求項4のいずれか1項に記載の検出装置。
【請求項9】
前記ECUと前記通信線により接続されている車載装置であって、
物理層で動作し、前記受信信号をデジタル信号に変換するPHY部と、
前記PHY部により変換された前記デジタル信号が入力される処理装置と、
を備え、
前記PHY部は、
前記受信信号を前記デジタル信号に変換する変換装置と、
請求項1から請求項4のいずれか1項に記載の検出装置と、
を含む、
車載装置。
【請求項10】
車両に搭載されるECUと検出装置とを接続する通信線における不正侵入を検出する検出方法であって、
検出値が、正常値と相違する場合に、前記通信線に不正侵入があることを判定するステップを備え、
前記検出値は、前記検出装置に含まれる発振回路が第1発振器の発振に基づいて出力する第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた値であり、
前記正常値は、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた値である、
検出方法。
【請求項11】
車両に搭載されるECUと検出装置とを接続する通信線における不正侵入を検出するためのコンピュータプログラムであって、
コンピュータプログラムは、コンピュータに、
検出値が、正常値と相違する場合に、前記通信線に不正侵入があることを判定するステップを実行させ、
前記検出値は、前記検出装置に含まれる発振回路が第1発振器の発振に基づいて出力する第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた値であり、
前記正常値は、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた値である、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検出装置、車載装置、検出方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
車両に搭載されるECU(Electronic Control Unit)等を含む車載ネットワークへの不正侵入を防止するための技術が知られている。例えば、特許文献1には、ECUに含まれるCPUがポートに接続される端末を監視する。そして、接続された端末のMACアドレスが、MACアドレステーブルに予め登録された端末の宛先MACアドレスと異なる場合に、当該ポートを使用不能とすることで、車載LANへの不正侵入を防ぐ。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-125991号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、車載ネットワーク内の複数のECU間において送受信されるデータを不正端末によって盗み見ることで、正常なシーケンスを不正端末に記録した後、不正端末が一方のECUになりすまして車載ネットワークに不正に侵入する手法が存在する。
【0005】
この場合、不正端末は車載ネットワークに含まれるECUのMACアドレスをコピーするため、特許文献1のような従来の監視手法では不正侵入を検出することができない。
【0006】
かかる課題に鑑み、本開示は、より確実に不正侵入を検出することができる検出装置、車載装置、検出方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の検出装置は、車両に搭載されるECUと通信線により接続されている検出装置であって、第1発振器の発振に基づいて第1発振信号を出力する発振回路と、前記第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた検出値を判定部へ出力する検出回路と、を備え、前記判定部は、前記検出値が、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた正常値と相違する場合に、前記通信線に不正侵入があることを判定する、検出装置である。
【0008】
本開示の検出方法は、車両に搭載されるECUと検出装置とを接続する通信線における不正侵入を検出する検出方法であって、検出値が、正常値と相違する場合に、前記通信線に不正侵入があることを判定するステップを備え、前記検出値は、前記検出装置に含まれる発振回路が第1発振器の発振に基づいて出力する第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた値であり、前記正常値は、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた値である、検出方法である。
【0009】
本開示のコンピュータプログラムは、車両に搭載されるECUと検出装置とを接続する通信線における不正侵入を検出するためのコンピュータプログラムであって、コンピュータプログラムは、コンピュータに、検出値が、正常値と相違する場合に、前記通信線に不正侵入があることを判定するステップを実行させ、前記検出値は、前記検出装置に含まれる発振回路が第1発振器の発振に基づいて出力する第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた値であり、前記正常値は、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた値である、コンピュータプログラムである。
【発明の効果】
【0010】
本開示によれば、より確実に不正侵入を検出することができる。
【図面の簡単な説明】
【0011】
図1図1は、実施形態に係る車載システムの構成例を示す図である。
図2図2は、図1の車載システムが不正侵入されている様子を示す図である。
図3図3は、実施形態に係る車載装置の構成例を示す図である。
図4図4は、実施形態に係る検出装置の構成例を示す図である。
図5図5は、実施形態に係る検出方法を例示するフローチャートである。
図6図6は、実施形態に係る検出方法を例示するフローチャートである。
図7図7は、実施形態に係る検出値を例示するグラフである。
図8図8は、発振器の温度特性を例示するグラフである。
図9図9は、変形例に係る正常値と温度の関係を例示するテーブルである。
図10図10は、発振器のエージング特性を例示するグラフである。
図11図11は、変形例に係る車載システムの構成を示す図である。
図12図12は、変形例に係る検出値を例示するグラフである。
【発明を実施するための形態】
【0012】
[本開示の実施形態の説明]
本開示の実施形態には、その要旨として、以下の構成が含まれる。
【0013】
(1)本開示の検出装置は、車両に搭載されるECUと通信線により接続されている検出装置であって、第1発振器の発振に基づいて第1発振信号を出力する発振回路と、前記第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた検出値を判定部へ出力する検出回路と、を備え、前記判定部は、前記検出値が、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた正常値と相違する場合に、前記通信線に不正侵入があることを判定する、検出装置である。
【0014】
不正端末等では、ECUの通信シーケンス等を模倣することはできても、ECUの第2発振器に起因する第3発振信号を模倣することができない。このため、通信線から受信される第2発振信号の周波数が、第3発振信号の周波数に相当するか否かを判断することで、より確実に不正侵入を検出することができる。
【0015】
(2)前記(1)の検出装置において、前記判定部は、前記検出値が前記正常値から所定値を超えて相違する場合に、前記通信線に不正侵入があることを判定してもよい。
【0016】
このように構成することで、誤差等により前記検出値が前記正常値からずれた場合に、不正侵入を誤判定することを抑制することができる。
【0017】
(3)前記(2)の検出装置において、前記検出回路は、前記第1発振信号と前記第2発振信号とが入力され、前記第1発振信号の周波数と前記第2発振信号の周波数との差分を検出する第1回路と、前記第1回路において検出された差分を前記検出値に変換する第2回路と、を含んでもよい。
【0018】
このように構成することで、第1発振信号の周波数と第2発振信号の周波数との差分を、検出値に変換することができる。
【0019】
(4)前記(3)の検出装置において、前記受信信号は、前記第2発振信号とデータ信号とが重畳された信号であってもよい。この場合、前記検出回路は、前記受信信号から前記第2発振信号を抽出して、前記第1回路に出力する抽出回路をさらに含んでもよい。
【0020】
このように構成することで、受信信号から第2発振信号を抽出することができる。
【0021】
(5)前記(1)から前記(4)のいずれかの検出装置は、前記正常値が予め記憶されている記憶部と、前記判定部と、をさらに備えてもよい。
【0022】
このように構成することで、検出装置内において不正侵入の検出を行うことができる。
【0023】
(6)前記(5)の検出装置は、前記記憶部に記憶されている前記正常値を変更する変更部をさらに備えてもよく、前記変更部は、第1モードと第2モードとを含む複数の動作モードを選択可能であり、前記第1モードが選択されている場合、前記変更部は、前記記憶部に記憶されている前記正常値を、前記第1モードが選択されている間に前記検出回路から出力される前記検出値に変更し、前記第2モードが選択されている場合、前記変更部は、前記記憶部に記憶されている前記正常値を変更しなくてもよい。
【0024】
このように構成することで、経年変化に起因する発振器の周波数偏差を補償することができるため、不正侵入をより確実に検出することができる。
【0025】
(7)前記(5)の検出装置において、前記判定部は、前記第1発振器及び前記第2発振器のうち少なくとも一方の温度を検出する温度センサの検出温度に基づいて、前記正常値を決定してもよい。
【0026】
このように構成することで、温度変化に起因する発振器の周波数偏差を補償することができるため、不正侵入をより確実に検出することができる。
【0027】
(8)前記(1)から前記(7)のいずれかの検出装置は、前記第2発振器の温度を調整する温度調整部に指示を行う温度制御部をさらに備えてもよく、前記検出回路は、前記第1発振信号の周波数と、前記温度制御部の指示により前記第2発振器が第1の所定温度に調整されている間に受信される前記受信信号に含まれる前記第2発振信号の周波数と、の差分に応じた前記検出値である第1の検出値を前記判定部へ出力し、前記判定部は、前記第1の検出値が、前記第1発振信号の周波数と、前記温度制御部の指示により前記第2発振器が前記第1の所定温度に調整されている間に前記第2発振器の発振に基づいて生成される前記第3発振信号の周波数と、の差分に応じた前記正常値である第1の正常値から所定値を超えて相違する場合に、前記通信線に不正侵入があることを判定してもよい。
【0028】
このような構成によれば、第1の検出値が温度調整部による温度調整に追従しない場合に不正侵入を検出し、第1の検出値が温度調整部による温度調整に追従している場合に不正侵入を検出しない。これにより、ある温度において第2発振器の周波数と第3発振器の周波数とが偶然一致する場合であっても、不正侵入を検出することができる。
【0029】
(9)本開示の車載装置は、前記ECUと前記通信線により接続されている車載装置であって、物理層で動作し、前記受信信号をデジタル信号に変換するPHY部と、前記PHY部により変換された前記デジタル信号が入力される処理装置と、を備え、前記PHY部は、前記受信信号を前記デジタル信号に変換する変換装置と、前記(1)から前記(8)のいずれかの検出装置と、を含む、車載装置である。
【0030】
(10)本開示の検出方法は、車両に搭載されるECUと検出装置とを接続する通信線における不正侵入を検出する検出方法であって、検出値が、正常値と相違する場合に、前記通信線に不正侵入があることを判定するステップを備え、前記検出値は、前記検出装置に含まれる発振回路が第1発振器の発振に基づいて出力する第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた値であり、前記正常値は、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた値である、検出方法である。
【0031】
不正端末等では、ECUの通信シーケンス等を模倣することはできても、ECUの第2発振器に起因する第3発振信号を模倣することができない。このため、通信線から受信される第2発振信号の周波数が、第3発振信号の周波数に相当するか否かを判断することで、より確実に不正侵入を検出することができる。
【0032】
(11)本開示のコンピュータプログラムは、車両に搭載されるECUと検出装置とを接続する通信線における不正侵入を検出するためのコンピュータプログラムであって、コンピュータプログラムは、コンピュータに、検出値が、正常値と相違する場合に、前記通信線に不正侵入があることを判定するステップを実行させ、前記検出値は、前記検出装置に含まれる発振回路が第1発振器の発振に基づいて出力する第1発振信号の周波数と、前記通信線から受信される受信信号に含まれる第2発振信号の周波数と、の差分に応じた値であり、前記正常値は、前記第1発振信号の周波数と、前記ECUに含まれる第2発振器の発振に基づいて生成される第3発振信号の周波数と、の差分に応じた値である、コンピュータプログラムである。
【0033】
不正端末等では、ECUの通信シーケンス等を模倣することはできても、ECUの第2発振器に起因する第3発振信号を模倣することができない。このため、通信線から受信される第2発振信号の周波数が、第3発振信号の周波数に相当するか否かを判断することで、より確実に不正侵入を検出することができる。
【0034】
[1.本開示の実施形態の詳細]
以下、図面を参照して、本開示の実施形態の詳細を説明する。
【0035】
[1.1 車載システム1の構成]
図1は、実施形態に係る車載システム1の構成例を示す図である。
【0036】
車載システム1は、自動車等の車両9に搭載されているシステムである。車載システム1は、車載装置10と、複数のECU(Electronic Control Unit)20と、車載装置10と複数のECU20との間をそれぞれ接続する複数の通信線30と、を備える。車載装置10及び複数のECU20は、複数の通信線30によりそれぞれ接続されることで、車載ネットワークを構成する。
【0037】
車載装置10は、例えば複数のECU20間において送受信されるデータを中継する中継装置である。具体的には、車載装置10はイーサネットスイッチ(イーサネットは登録商標)及びL2スイッチとしての機能を有する中継装置である。なお、車載装置10は複数のECU20の制御を管理する統合ECUであってもよいし、複数のECU20と同様のECUであってもよい。
【0038】
車載システム1に含まれるECU20の個数は、特に限定されず、1個でもよい。図1の例では、車載システム1は4個のECU20を備える。4個のECU20を区別する場合、ECU21,22,23,24とそれぞれ称する。
【0039】
ECU20は、例えば車両9の各部(例えば、制動装置、ドア、バッテリ、エアコンディショナ等)を制御する装置(操作系ECU)である。ECU20の機能は特に限定されず、ECU20は、センサと通信して、車両9の各部の状態を監視する装置(認知系ECU)であってもよい。複数のECU20は、それぞれ異なる機能を有してもよいし、それぞれ同じ機能を有してもよい。
【0040】
複数(図1の例では4本)の通信線30は、それぞれ車載装置10から延びている。4本の通信線30を区別する場合、ECU21に延びる線を通信線31と称し、ECU22に延びる線を通信線32と称し、ECU23に延びる線を通信線33と称し、ECU24に延びる線を通信線34と称する。
【0041】
車載ネットワークがイーサネット規格に基づくネットワークである場合、通信線30は、例えば1000BASE-T1又は1000BASE-RHの規格に準拠した通信線である。なお、通信線30はCAN(Controller Area Network)等のその他の規格に準拠していてもよい。
【0042】
[1.2 実施形態が解決しようとする課題]
図2は、車載システム1が不正侵入されている様子を示す図である。はじめに、侵入者は、通信線31の途中に、不正端末D1が接続されているハブH1を挿入する。不正端末D1は、例えばラップトップコンピュータ等のパーソナルコンピュータ、又はタブレット端末である。ハブH1は、例えば通信線31に流れるデータをコピーするリピータハブである。例えば、侵入者は通信線31を切断して切断部分にそれぞれコネクタを取り付け、ハブH1を当該コネクタに接続する。また、車載装置10及びECU21の一方から通信線31を引き抜いてハブH1に差し込み、新たな通信線をハブH1から車載装置10及びECU21の他方に接続する場合もある。
【0043】
続いて、侵入者は、ハブH1に接続されている不正端末D1に、通信線31に流れるデータをコピーする。そして、不正端末D1は、当該データに基づいて、例えばECU21のMAC(Media Access Control)アドレスと、ECU21と車載装置10との間における通信のシーケンスを解析する。その後、不正端末D1は、ECU21のMACアドレス及び通信シーケンスをコピーすることで、ECU21になりすまして不正なデータを車載装置10に送信する。
【0044】
例えば、特許文献1の場合、MACアドレスに基づいて、通信の相手方が正常か不正かを判断する。上記の手法では、ECU21のMACアドレスをコピーした状態で不正侵入を行うため、特許文献1のようなソフト的な監視手法では不正侵入を検出することができない。
【0045】
そこで、本実施形態では、ECU20に含まれる発振器(例えば、水晶振動子)の周波数に着目して、不正侵入を検知する。複数のECU20には、それぞれ発振信号(クロック信号)を生成するために発振器が設けられている。例えば、ECU21は、第2発振器71を含む。発振器の周波数には個体差(許容偏差)があり、同じ仕様の発振器であっても、例えば±20~50ppm程度の周波数の差が生じる。このため、従来より、信号の受信側において、この周波数差をなくすように、クロックを同期させている。
【0046】
図1に示すように、正常な状態(不正侵入のない状態)において、車載装置10はECU21に含まれる第2発振器71の発振に基づいて生成される発振信号SG3(本開示の「第3発振信号」の一例)を受信する。
【0047】
一方で、図2に示すように、不正端末D1がECU21になりすまして車載装置10にデータを送信する場合、車載装置10はハブH1に含まれる第3発振器H2の発振に基づいて生成される発振信号SGxを受信する。
【0048】
不正端末D1は、ECU21のMACアドレス及び通信シーケンス等、データの内容に関してなりすますことはできても、車載装置10に送信される発振信号SGxの周波数は第3発振器H2の特性に依存するため、ECU21から送信される発振信号SG3の周波数を模倣することはできない。
【0049】
発明者は、鋭意研究の結果、不正端末D1では発振器等のハード的な構成に起因する信号を模倣できないことを利用して、車載装置10において受信される発振信号の周波数が、ECU21の発振信号SG3の周波数に相当するか否かを判断することで、より確実に不正侵入を検出する発明を想到した。以下、その具体的構成を説明する。
【0050】
[1.3 車載装置10の構成]
図3は、実施形態に係る車載装置10の構成例を示す図である。
車載装置10は、複数のPHY部11と、処理装置12と、第1発振器13と、温度センサ14と、を備える。
【0051】
PHY部11は、OSI(Open System Interconnection)参照モデルにおける物理層(Physical Layer)で動作する領域であり、例えばイーサネットPHY等の集積回路である。PHY部11は、検出装置40と、変換装置50と、を含む。検出装置40及び変換装置50は、PHY部11のうちそれぞれ異なる領域によって実現されてもよいし、少なくとも一部の領域を共用することで実現されてもよい。
【0052】
検出装置40は、通信線30の不正侵入を検出する装置である。検出装置40の詳細は後述する。変換装置50は、通信線30側を流れるアナログ信号と処理装置12に入出力されるデジタル信号とを相互変換する装置である。具体的には、変換装置50は、通信線30から受信されるアナログ信号(受信信号RS1)を処理装置12が認識可能なデジタル信号DS1に変換して処理装置12へ出力する機能と、処理装置12から入力されるデジタル信号DS1をECU20が認識可能なアナログ信号に変換して通信線30へ送信する機能と、を有する。
【0053】
図3の例では、ECU20の個数に対応して4個のPHY部11が設けられている。なお、PHY部11の個数は特に限定されず、例えば5個以上設けられてもよい。4個のPHY部11は、それぞれ同じ内部構成を有し、4本の通信線31,32,33,34にそれぞれ接続されている。なお、4個のPHY部11のうち通信線31に接続されるPHY部11にのみ検出装置40が設けられ、他の3個のPHY部11において検出装置40が省略されていてもよい。
【0054】
処理装置12は、PHY部11により変換されたデジタル信号DS1に基づいて、各種の処理を行う装置であり、例えばマイクロコントローラーユニット(MCU:Micro Controller Unit)である。処理装置12は、CPLD(Complex PLD)又はFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)であってもよい。
【0055】
処理装置12は、制御部61と、記憶部62と、読取部63と、を含む。これらの各部61,62,63は、バスB1によって互いに電気的に接続されている。
【0056】
制御部61は、例えばプロセッサ等の回路構成(Circuitry)を含む。制御部61は、具体的には、1個又は複数個のCPU(Central Processing Unit)を含む。制御部61に含まれるプロセッサは、GPU(Graphics Processing Unit)であってもよい。制御部61は、記憶部62に記憶されているコンピュータプログラムを読み出して、各種の演算及び制御を実行する。
【0057】
記憶部62は、揮発性メモリと、不揮発性メモリと有し、後述の正常値V1を含む各種のデータを記憶する。揮発性メモリは、例えばRAM(Random Access Memory)を含む。不揮発性メモリは、例えばフラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はROM(Read Only Memory)等を含む。記憶部62は、例えば、不揮発性メモリにコンピュータプログラム及び各種のパラメータを記憶している。
【0058】
読取部63は、コンピュータが読取り可能な記録媒体64から情報を読み取る。記録媒体64は、例えばCD、DVD等の光学ディスク又はUSBフラッシュメモリである。読取部63は、例えば光学ドライブ又はUSB端子である。記録媒体64にはコンピュータプログラム及び各種のパラメータが記録されており、記録媒体64を読取部63に読み取らせることで、コンピュータプログラム及び各種のパラメータが記憶部62の不揮発性メモリに記憶される。
【0059】
制御部61は、後述の検出回路43から入力される検出値Vxと、記憶部62に記憶されている正常値V1とを比較する。例えば、検出値Vxと正常値V1との差分の絶対値(|Vx-V1|)を算出する。そして、当該絶対値が、マージン値αを超える場合に(|Vx-V1|>α)、通信線31に不正侵入があることを判定する。この場合、制御部61が本開示の「判定部」として機能し、記憶部62が本開示の「記憶部」として機能する。
【0060】
第1発振器13は、車載装置10に含まれる各回路のクロック源として用いられる素子である。第1発振器13は、例えば水晶振動子である。なお、第1発振器13は、セラミック振動子であってもよい。図1の例では、車載装置10に1個の第1発振器13が設けられ、第1発振器13から車載装置10の各部11,12に発振成分が供給される。なお、車載装置10の各部11,12に個別に第1発振器13が設けられてもよい。
【0061】
温度センサ14は、第1発振器13の温度を検出するセンサである。温度センサ14は、例えばサーミスタ等の測温抵抗体(RTD:Resistance Temperature Detector)である。なお、温度センサ14は、熱電対又は赤外線放射温度計であってもよい。温度センサ14は検出信号を処理装置12に出力する。
【0062】
[1.4 検出装置40の構成]
図4は、実施形態に係る検出装置40の構成例を示す図である。検出装置40は、受信回路41と、発振回路42と、検出回路43と、ロジック回路44と、メモリ回路45と、を備える。
【0063】
受信回路41は、通信線31から受信信号RS1を受信する回路(レシーバ)である。受信回路41は、受信信号RS1に対して増幅及びノイズカット等の前処理を実行してもよい。受信回路41は、受信信号RS1(又は前処理を施した受信信号RS1)を検出回路43へ出力する。
【0064】
発振回路42は、第1発振器13の発振に基づいて第1発振信号SG1を生成する回路である。第1発振信号SG1の周波数は、第1発振器13の周波数に依存する。発振回路42は、第1発振信号SG1を検出回路43へ出力する。
【0065】
検出回路43は、第1発振信号SG1の周波数と、受信信号RS1に含まれる第2発振信号SG2の周波数と、の差分に応じた検出値Vxを生成する回路である。検出回路43は、検出値Vxをロジック回路44及び処理装置12の少なくとも一方に出力する。
【0066】
より具体的には、検出回路43は、抽出回路431と、第1回路432と、第2回路433と、を含む。
【0067】
ここで、受信信号RS1は、ひとつの差動信号の中に、第2発振信号SG2(クロック)とデータ信号DS2とが重畳された信号である。これにより、1種類の通信線30によって第2発振信号SG2及びデータ信号DS2の両方を伝送することができる。
【0068】
抽出回路431は、受信信号RS1から第2発振信号SG2を抽出して、第1回路432に出力する回路である。抽出回路431は、例えばCDR(Clock Data Recovery)回路である。
【0069】
第1回路432には、発振回路42から第1発振信号SG1が入力され、抽出回路431から第2発振信号SG2が入力される。第1回路432は、第1発振信号SG1の周波数と第2発振信号SG2の周波数の差分を検出する回路である。第1回路432は、例えばPFD(Phase Frequency Detector)回路である。第1回路432が検出した差分は、例えばパルス波として第2回路433へ出力される。
【0070】
第2回路433は、第1回路432において検出された差分を検出値Vxに変換する回路である。第2回路433は、CP(Charge Pump)回路434と、フィルタ回路435と、AD(Analog to digital)変換回路436と、を含む。第1回路432において検出された差分は、CP回路434に入力される。
【0071】
CP回路434は、第1回路432において検出された差分(パルス波)に応じた電流信号(パルス電流)を出力する回路であり、例えばコンデンサとダイオードとを含む。CP回路434において出力された電流信号はフィルタ回路435に入力される。
【0072】
フィルタ回路435は、CP回路434において出力された電流信号を電圧値に変換する回路である。フィルタ回路435は、例えばラグリードフィルタであり、パルス電流を平滑化された電圧値に変換する。フィルタ回路435において出力された電圧値は、AD変換回路436に入力される。
【0073】
AD変換回路436は、フィルタ回路435において出力された電圧値(アナログ値)をデジタル値に変換する回路である。AD変換回路436は、変換したデジタル値を検出値Vxとして、ロジック回路44及び処理装置12の少なくとも一方に出力する。
【0074】
なお、例えば処理装置12にAD変換回路が備えられている場合、検出回路43はフィルタ回路435において変換された電圧値(アナログ値)を検出値Vxとして処理装置12に出力してもよい。この場合、処理装置12のAD変換回路において検出値Vxがデジタル値に変換される。
【0075】
ロジック回路44は、例えばプロセッサ等の回路構成(Circuitry)を含む。制御部61は、具体的には、複数個の論理ゲートを含み、メモリ回路45に記憶されているパラメータと、検出回路43から入力される検出値Vxとに基づいて、各種の演算及び制御を実行する。
【0076】
メモリ回路45は、各種のパラメータを記憶する回路である。メモリ回路45は、例えばPROM(Programmable ROM)である。メモリ回路45は、後述の正常値V1と、マージン値αとを記憶している。
【0077】
ロジック回路44は、検出回路43から入力される検出値Vxと、メモリ回路45に記憶されている正常値V1とを比較する。例えば、検出値Vxと正常値V1との差分の絶対値(|Vx-V1|)を算出する。そして、当該絶対値が、マージン値αを超える場合に(|Vx-V1|>α)、通信線31に不正侵入があることを判定する。この場合、ロジック回路44が本開示の「判定部」として機能し、メモリ回路45が本開示の「記憶部」として機能する。
【0078】
[1.5 検出方法]
次に、車載システム1における不正侵入の検出方法を説明する。車載システム1において、処理装置12の制御部61が不正侵入を検出してもよいし、検出装置40のロジック回路44が不正侵入を検出してもよい。以下、前者の検出方法を「第1検出例」、後者の検出方法を「第2検出例」として説明する。
【0079】
[1.5.1 第1検出例:制御部61が不正侵入を検出]
図5及び図6は、実施形態に係る検出方法を例示するフローチャートである。図5及び図6は、車載装置10が実行する制御をそれぞれ示している。
図7は、実施形態に係る検出値Vxを例示するグラフである。
【0080】
車載システム1では、はじめに正常値V1の記憶を実行し、その後に不正侵入の検出を実行する。図5は正常値V1の記憶するための手順を示すフローチャートであり、図6は不正侵入の検出を実行するための手順を示すフローチャートである。図7は、図5及び図6の手順が実行されるタイミングを示すグラフであり、縦軸は検出値Vxを示し、横軸は時刻を示している。
【0081】
正常値V1の記憶は、例えば車両9の出荷前に、車両9の製造工場において実行され、図7では時刻X1に実行される。車両9の出荷前(すなわち、製造工場内)であれば、車載システム1への不正侵入のおそれが低いため、不正侵入が無いものとして正常値V1を記憶部62に登録することができる。
【0082】
図5を参照する。まず、第1回路432が、第1発振器13の発振に基づいて生成される第1発振信号SG1の周波数と、ECU21に含まれる第2発振器71の発振に基づいて生成される第3発振信号SG3の周波数との差分を検出する(ステップS11)。具体的には、車載装置10とECU21とを動作させ、例えばECU21から、第3発振信号SG3とデータ信号とが重畳されたテスト用の信号を、通信線31を経由して車載装置10へ送信する。車載装置10は、当該テスト用の信号を受信信号RS1として受信する。
【0083】
受信信号RS1は受信回路41において前処理された後、CDR回路431に入力される。CDR回路431において受信信号RS1から第3発振信号SG3が抽出され、第3発振信号SG3は第1回路432(PFD回路)に入力される。また、第1発振器13の発振に基づいて発振回路42において生成された第1発振信号SG1も第1回路432に入力される。第1回路432は、第1発振信号SG1の周波数と、第3発振信号SG3の周波数とを比較し、その周波数差をパルス波として第2回路433へ出力する。以上により、ステップS11が終了する。
【0084】
続いて、第2回路433は周波数の差分を検出値Vxに変換する(ステップS12からステップS14まで)。具体的には、CP回路434が周波数の差分を電流値に変換し(ステップS12)、フィルタ回路435が電流値を電圧値に変換し(ステップS13)、AD変換回路436が電圧値をデジタル値に変換する(ステップS14)。
【0085】
最後に、処理装置12の記憶部62が検出値Vxを正常値V1として記憶する(ステップS15)。具体的には、AD変換回路436がデジタル値を検出値Vxとして処理装置12に出力する。処理装置12の制御部61は、入力された検出値Vxを記憶部62に正常値V1として記憶させる。以上により、ステップS15が終了する。
【0086】
図6及び図7を参照する。不正侵入の検出は、例えば車載装置10の電源がオンになったときに実行される。なお、不正侵入の検出は、例えば車載装置10の電源がオンとなっている間、定期的に実行されてもよいし、車両9の搭乗者の操作に基づいて実行されてもよい。図7では、例えば車両9の出荷後である時刻X2及び時刻X3に実行される。
【0087】
まず、第1回路432が、第1発振信号SG1の周波数と、通信線31から受信される受信信号RS1に含まれる第2発振信号SG2の周波数との差分を検出する(ステップS21)。
【0088】
具体的には、車載装置10は通信線31から受信信号RS1を受信する。ここで、受信信号RS1は、ステップS21の時点では、図1に示すようにECU21から発される信号であるか、図2に示すように不正なハブH1から発される信号であるか、不明である。
【0089】
受信信号RS1は受信回路41において前処理された後、CDR回路431に入力される。CDR回路431において受信信号RS1から第2発振信号SG2が抽出され、第2発振信号SG2は第1回路432に入力される。また、第1発振信号SG1も第1回路432に入力される。第1回路432は、第1発振信号SG1の周波数と、第2発振信号SG2の周波数とを比較し、その周波数差をパルス波として第2回路433へ出力する。以上により、ステップS21が終了する。
【0090】
続いて、第2回路433は周波数の差分を検出値Vxに変換する(ステップS22からステップS24まで)。具体的には、CP回路434が周波数の差分を電流値に変換し(ステップS22)、フィルタ回路435が電流値を電圧値に変換し(ステップS23)、AD変換回路436が電圧値をデジタル値に変換する(ステップS24)。
【0091】
次に、処理装置12の制御部61が、検出値Vxが所定の範囲内であるか否かを監視する(ステップS25)。ここで、受信信号RS1に含まれる第2発振信号SG2がECU20に含まれる第2発振器71に基づく信号であれば、第2発振信号SG2の周波数は第3発振信号SG3の周波数と例えば±2ppm以内の範囲でほぼ等しくなる。一方、第2発振信号SG2がハブH1に含まれる第3発振器H2に基づく信号であれば、偶然に一致する場合を除いて、ほとんどの場合、第2発振信号SG2の周波数は第3発振信号SG3の周波数と相違する。
【0092】
ステップS25では、検出値Vx(すなわち、第1発振信号SG1と第2発振信号SG2の差分に応じた値)が、正常値V1(すなわち、第1発振信号SG1と第3発振信号SG3の差分に応じた値)からどれだけ相違するかを監視する。そして、所定値を超えて相違する場合、第2発振信号SG2は第2発振器71に起因する信号ではないと考えられるため、不正侵入と判定する。
【0093】
具体的には、AD変換回路436がデジタル値を検出値Vxとして処理装置12に出力する。処理装置12の制御部61は、入力された検出値Vxと、記憶部62に記憶されている正常値V1とを比較する。例えば、制御部61は、検出値Vxと正常値V1の差分の絶対値(|Vx-V1|)を算出する。
【0094】
制御部61は、検出値Vxが正常値V1から所定値(マージン値α)を超えて相違する場合に(ステップS25のNO)、通信線31に不正な侵入があることを判定する(ステップS26:侵入判定)。例えば、制御部61は、検出値Vxと正常値V1の差分の絶対値がマージン値αを超える場合に(|Vx-V1|>α)、侵入判定を行う。
【0095】
ここで、マージン値αは、車載装置10において要求される不正侵入の検出精度に応じて適宜に設定される。マージン値αを小さく設定すればするほど、不正侵入を検出しやすくなる一方で、後述する温度等の影響によって、不正侵入がない場合であっても検出値Vxが正常値V1からマージン値αを超えて相違しやすくなり、誤判定の可能性が増える。また、マージン値αを大きく設定すればするほど、誤判定の可能性は減る一方で、不正侵入を見過ごしやすくなる。マージン値αは、例えば2ppm以下の値に設定される。
【0096】
侵入判定を行った場合、制御部61は車載装置10に受信された受信信号RS1を消去する(ステップS27)。また、制御部61は、図示省略する表示部(例えばディスプレイ)に不正侵入がなされていることを通知する表示を実行させてもよい。例えば、制御部61は、表示部に「不正な侵入が検出されました」等のテキストを表示させてもよい。
【0097】
一方、検出値Vxが正常値V1から所定値(マージン値α)以内である場合(ステップS25のYES)、制御部61は侵入判定を行わず、デジタル信号DS1を受信する(ステップS28)。例えば、制御部61は、検出値Vxと正常値V1の差分の絶対値がマージン値α以下である場合に(|Vx-V1|≦α)、侵入判定を行わない。
【0098】
ステップS28において、制御部61は、PHY部11内の変換装置50において受信信号RS1から変換されたデジタル信号DS1を受信する。そして、制御部61は、デジタル信号DS1に基づいて、ECU21と通信する等の各種の制御を実行する。以上により、不正侵入の検出が終了する。
【0099】
図7の例では、時刻X2において、検出値Vxは値V1となる(Vx=V1)。検出値Vxは正常値V1からマージン値α以内の値であるため、時刻X2において不正侵入は検出されない。一方で、時刻X3において、検出値Vxは値V2となる(Vx=V2)。検出値Vxは正常値V1からマージン値αを超えて相違する値であるため、時刻X3において不正侵入が検出される。
【0100】
第1検出例では、制御部61が本開示の「判定部」として機能し、記憶部62が本開示の「記憶部」として機能する。不正端末D1及びハブH1では、ECU21の通信シーケンス等を模倣することはできても、ECU21の第2発振器71に起因する第3発振信号SG3を模倣することができない。このため、車載装置10において受信される第2発振信号SG2の周波数が、ECU21の第3発振信号SG3の周波数に相当するか否かを判断することで、より確実に不正侵入を検出することができる。
【0101】
また、検出装置40をPHY部11の内部に設けることで、車載装置10全体としての回路構成をよりコンパクトにすることができる。
【0102】
[1.5.2 第2検出例:ロジック回路44が不正侵入を検出]
第2検出例において、上記の第1検出例と同じ処理を実行する工程については、適宜説明を省略する。第2検出例においても、はじめに正常値V1の記憶を実行し、その後に不正侵入の検出を実行する。
【0103】
図5を参照する。ステップS11からステップS14まで、検出装置40において上記の第1検出例と同じ処理が実行される。そして、メモリ回路45が検出値Vxを正常値V1として記憶する(ステップS15)。具体的には、AD変換回路436がデジタル値を検出値Vxとしてロジック回路44に出力する。ロジック回路44は、入力された検出値Vxをメモリ回路45に正常値V1として記憶させる。以上により、ステップS15が終了する。
【0104】
図6を参照する。ステップS21からステップS24まで、検出装置40において上記の第1検出例と同じ処理が実行される。そして、ロジック回路44が、検出値Vxが所定の範囲内であるか否かを監視する(ステップS25)。
【0105】
具体的には、AD変換回路436がデジタル値を検出値Vxとしてロジック回路44に出力する。ロジック回路44は、入力された検出値Vxと、メモリ回路45に記憶されている正常値V1とを比較する。例えば、ロジック回路44は、検出値Vxと正常値V1の差分の絶対値(|Vx-V1|)を算出する。
【0106】
ロジック回路44は、検出値Vxが正常値V1から所定値(マージン値α)を超えて相違する場合に(ステップS25のNO)、通信線31に不正な侵入があることを判定する(ステップS26:侵入判定)。例えば、ロジック回路44は、検出値Vxと正常値V1の差分の絶対値がマージン値αを超える場合に(|Vx-V1|>α)、侵入判定を行う。
【0107】
侵入判定を行った場合、ロジック回路44は車載装置10に受信された受信信号RS1を消去する(ステップS27)。また、ロジック回路44は、侵入判定を行った場合に、処理装置12へ所定の第1検出信号を出力してもよい。この場合、当該第1検出信号を受信した処理装置12の制御部61が受信信号RS1を消去してもよい。
【0108】
一方、検出値Vxが正常値V1から所定値(マージン値α)以内である場合(ステップS25のYES)、ロジック回路44は侵入判定を行わない。この場合、ロジック回路44は処理装置12へ第1検出信号とは異なる第2検出信号を出力する。そして、当該第2検出信号を受信した処理装置12の制御部61は、デジタル信号DS1を受信する(ステップS28)。例えば、第1検出信号はハイレベル信号及びローレベル信号のうちの一方であり、第2検出信号はハイレベル信号及びローレベル信号のうちの他方である。以上により、不正侵入の検出が終了する。
【0109】
第2検出例では、ロジック回路44が本開示の「判定部」として機能し、メモリ回路45が本開示の「記憶部」として機能する。このように構成する場合にも、第2発振信号SG2の周波数が、ECU21の第3発振信号SG3の周波数に相当するか否かを判断することで、より確実に不正侵入を検出することができる。
【0110】
[2.変形例]
以下、実施形態の変形例について説明する。変形例において、上記の実施形態と同じ構成については同じ符号を付して説明を省略する。
【0111】
[2.1 温度特性に応じた正常値の補正]
図8は、発振器の温度特性を例示するグラフである。図8の横軸は摂氏温度を示し、図8の縦軸は摂氏25度における発振器の周波数を基準とする、各温度における発振器の周波数偏差(Δf/f)を示している。
【0112】
図8に示すように、水晶振動子等の発振器が振動する周波数は、温度によって変化することが知られている。例えば、摂氏25度よりも温度が高くなると、発振器の周波数は徐々に遅くなり、極小値を経た後に徐々に速くなる傾向がある。また、摂氏25度よりも温度が低くなると、発振器の周波数は徐々に速くなり、極大値を経たあとに徐々に遅くなる傾向がある。
【0113】
このため、例えば上記の正常値V1の記憶(ステップS11からS15まで)を摂氏25度の環境下にて実行した場合に、不正侵入の検出(ステップS21からステップS25)を摂氏40度(例えば、夏季)の環境下にて実行すると、車載装置10に含まれる第1発振器13及びECU21に含まれる第2発振器71の周波数が正常値V1を記憶した際のそれぞれの周波数よりも遅くなる。周波数が遅くなる程度は、第1発振器13と第2発振器71とで異なる。
【0114】
このため、正常値V1を記憶した際の温度とは異なる温度において不正侵入を検出する場合に、マージン値αをより小さく設定すると(例えば、0.5ppm)、第2発振器71の発振に基づく第2発振信号SG2であるのにもかかわらず(すなわち、不正侵入がないのにもかかわらず)、検出値Vxが正常値V1からマージン値αを超えて相違することで、侵入判定(ステップS26)がなされるおそれがある。
【0115】
このような誤判定を防ぐために、マージン値αを大きく設定してもよい。しかしながら、マージン値αを大きく設定すると、不正なハブH1の第3発振器H2の発振に基づく第2発振信号SG2に応じた検出値Vxが、偶然にも正常値V1に対してマージン値αの範囲内となる可能性が高くなり、不正侵入を見過ごしてしまうおそれが高くなる。
【0116】
そこで、本変形例では、第1発振器13及び第2発振器71のうち少なくとも一方の温度を検出する温度センサの検出温度に応じて正常値V1を決定する。これにより、温度変化に起因する発振器の周波数偏差を補償する。
【0117】
具体的には、温度センサ14(図3)により第1発振器13の温度を検出する。車載システム1は車両9に搭載されているシステムであるため、第2発振器71の温度は、温度センサ14の検出温度と同程度になると考えられる。このため、本変形例では、第1発振器13を含む車載システム1全体の温度を温度センサ14により検出する。なお、第1発振器13及び第2発振器71にそれぞれ異なる温度センサを設けてもよいし、第2発振器71に温度センサを設けてもよい。
【0118】
図9は、変形例に係る正常値と温度の関係を例示するテーブルである。図9のテーブルは、第1検出例では記憶部62に記憶され、第2検出例ではメモリ回路45に記憶されている。図9において、テーブルの一列目は温度の範囲を示し、テーブルの二列目は温度範囲に対応する正常値を示している。図9のテーブルは、例えば出荷前の車載システム1において様々な温度条件にて試験を行うことにより取得される。
【0119】
例えば、温度センサ14の検出温度Txが第1温度T1以下である場合、判定部(第1検出例では制御部61であり、第2検出例ではロジック回路44)は正常値を「V11」に決定する。また、温度センサ14の検出温度Txが第1温度T1を超え、かつ第2温度T2以下である場合、判定部は正常値をV11とは異なる「V12」に決定する。そして、温度センサ14の検出温度Txが第2温度T2を超え、かつ第3温度T3以下である場合、判定部は正常値をV11及びV12とは異なる「V13」に決定する。
【0120】
このように、記憶部に記憶されているテーブルと、検出温度Txとに基づいて、判定部は正常値を決定する。これにより、温度変化に起因する第1発振器13及び第2発振器71の周波数偏差を補償することができるため、例えばマージン値αをより小さく設定しても誤判定がなされることを抑制することができる。これにより、誤判定を抑制しつつ、不正侵入を見過ごすおそれの低いマージン値αに設定することができるため、不正侵入をより確実に検出することができる。
【0121】
[2.2 エージング特性に応じた正常値の補正]
図10は、発振器のエージング特性(経年特性)を例示するグラフである。図10の横軸は経過日数を対数で示し、図10の縦軸は1日目における発振器の周波数を基準とする、各時点における発振器の周波数偏差(Δf/f)を示している。
【0122】
図10に示すように、水晶振動子等の発振器が振動する周波数は、経年により変化することが知られている。図10では、経年により、発振器に不純物が付着することで、発振器の周波数が徐々に小さくなる(振動が徐々に遅くなる)例を示している。但し、発振器の特性によっては、例えば経年により、発振器からガスが放出されることで、発振器の周波数が徐々に大きくなり、ある経過日数において極大値を経たあと、周波数が徐々に小さくなる場合もある。
【0123】
このため、例えば上記の正常値V1の記憶(ステップS11からS15まで)を経過日数の浅い環境下(例えば、10日)にて実行した場合に、不正侵入の検出(ステップS21からステップS25)を例えばその1000日後に実行すると、第1発振器13及び第2発振器71の周波数が正常値V1を記憶した際のそれぞれの周波数から相違していることに起因して、不正侵入がないのにもかかわらず、検出値Vxが正常値V1からマージン値αを超えて相違し、侵入判定(ステップS26)がなされるおそれがある。
【0124】
そこで、本変形例では、第1発振器13及び第2発振器71のエージング特性を加味するために、車載装置10に記憶されている正常値V1を管理者の操作によって更新可能とする。これにより、経年変化に起因する発振器の周波数偏差を補償する。
【0125】
例えば、車両9の所有者は、車両9の点検のために、定期的に車両点検を行う事業者(例えば、ディーラー)に車両9を持ち込む。事業者は、例えば車載システム1の製造者から車載システム1の管理権限を付与された管理者であり、正常値V1を上書きするためのキーを保持している。キーは、例えばハード的に車載装置10に差し込まれるキーであってもよいし、ソフト的に車載装置10に入力されるキーであってもよい。
【0126】
例えば、ロジック回路44又は制御部61は、判定部として機能するとともに、記憶部(メモリ回路45又は記憶部62)に記憶されている正常値V1を変更する変更部としても機能する。変更部は、第1モードと第2モードとを含む複数の動作モードを選択可能となっている。
【0127】
通常時において、変更部の動作モードとしては、第2モードが選択されている。第2モードが選択されている場合、変更部は、記憶部に記憶されている正常値V1を変更できない。管理者によって、車載装置10にキーが入力されている場合に限り、変更部は第1モードを選択可能となる。
【0128】
第1モードが選択されている場合に、管理者が図示省略する入力部(例えば、キーボード)によって変更部へ正常値V1の更新を指示すると、変更部は、図5に示す正常値V1の記憶を実行する。そして、変更部は、記憶部に記憶されている正常値V1を、第1モードが選択されている間に検出回路43から出力される検出値Vxに変更する。
【0129】
例えば、車両9の1年目点検(図10の時点X11)の際に、管理者は正常値V1を新たな値に更新する。また、車両9の3年目点検(図10の時点X12)及び5年目点検(図10の時点X13)の際にも、管理者はそれぞれ正常値を更新する。これにより、経年変化に起因する発振器の周波数偏差を補償することができるため、温度補償の場合と同様に、誤判定を抑制しつつ、不正侵入を見過ごすおそれの低いマージン値αに設定することができる。この結果、不正侵入をより確実に検出することができる。
【0130】
[2.3 発振器の温度を意図的に変更]
上記の実施形態では、ECU21に含まれる第2発振器71と、不正なハブH1に含まれる第3発振器H2とが、ハード的に相違することを利用して、不正侵入を検出する。しかしながら、偶然にも、第2発振器71の周波数と、第3発振器H2の周波数とが一致する場合、不正侵入を検出できないおそれがある。
【0131】
そこで、本変形例では、意図的に第2発振器71の温度を変更し、温度変更後の検出値Vxが温度補償をした正常値V4からマージン値αを超えて相違する場合に、不正侵入を検出する。
【0132】
図11は、変形例に係る車載システム1aの構成を示す図である。車載システム1aでは、ECU21に、第2発振器71の温度を調整する温度調整部72と、第2発振器71の温度を検出する温度センサ73とが含まれている点で、図1の車載システム1と相違する。また、本変形例において、制御部61は、温度調整部72に指示を行う温度制御部としても機能する。
【0133】
温度調整部72は、例えば加熱のみ可能な抵抗ヒータ等の加熱部である。なお、温度調整部72は、加熱及び冷却の両方を実行可能であってもよい。この場合、温度調整部72は、例えばペルチェ素子である。
【0134】
図12は、変形例に係る検出値Vxを例示するグラフである。本変形例において、正常値は温度補償がなされる。例えば摂氏25度における正常値は「V1」に、摂氏25度よりも高い第1の所定温度T4における正常値は「V4」に、第1の所定温度T4よりも高い第2の所定温度T5における正常値は「V5」に決定される。
【0135】
例えば、検出環境が摂氏25度である場合を考える。はじめに温度制御部(制御部61)は温度調整部72に指示を行わない状態(すなわち、第2発振器71が摂氏25度である状態)で、車載装置10が不正侵入の検出を実行する。この場合、検出値Vxとして例えば正常値V1と同じ値が検出されれば、不正侵入は検出されない。
【0136】
摂氏25度において、不正侵入が検出されない場合、第2発振器71の周波数と第3発振器H2の周波数とが偶然一致しているおそれがある。このため、次に、温度制御部は温度調整部72に指示を行い、第2発振器71の温度を第1の所定温度T4に調整する。そして、第2発振器71の温度が第1の所定温度T4となっている時刻X4において、車載装置10は、不正侵入の検出を再度実行する。
【0137】
具体的には、検出回路43が、第1発振信号SG1の周波数と、温度制御部の指示により第2発振器71が第1の所定温度T4に調整されている間に受信される受信信号RS1に含まれる第2発振信号SG2の周波数と、の差分に応じた検出値Vxである第1の検出値Vx1を判定部へ出力する。
【0138】
そして、判定部は、第1発振信号SG1の周波数と、温度制御部の指示により第2発振器71が第1の所定温度T4に調整されている間に第2発振器71の発振に基づいて生成される第3発振信号SG3の周波数と、の差分に応じた正常値である第1の正常値V4から第1の検出値Vx1が所定値(マージン値α)を超えて相違する場合に、通信線31に不正侵入があることを判定する。
【0139】
例えば、不正侵入がなされている場合、温度調整部72によって第2発振器71の温度が第1の所定温度T4に調整されても、不正なハブH1の第3発振器H2における温度は変更されないため、第1の検出値Vx1は「V1」となる。一方で、不正侵入がなされていない場合、第2発振器71の温度調整に伴い、第1の検出値Vx1は「V4」となる。このため、本変形例では、第1の検出値Vx1が、温度調整部72による温度調整に追従しない場合に、不正侵入を検出し、温度調整部72による温度調整に追従している場合に、不正侵入を検出しない。これにより、第2発振器71の周波数と第3発振器H2の周波数とが偶然一致する場合であっても、不正侵入を検出することができる。
【0140】
また、温度調整部72によって第2発振器71の温度をさらに第1の所定温度T4よりも高い第2の所定温度T5に変更した後の時刻X5において、車載装置10は、不正侵入の検出を再度実行してもよい。温度を複数回変更し、その都度、不正侵入の検出を実行することで、検出の精度をより高めることができる。
【0141】
具体的には、検出回路43が、第1発振信号SG1の周波数と、温度制御部の指示により第2発振器71が第2の所定温度T5に調整されている間に受信される受信信号RS1に含まれる第2発振信号SG2の周波数と、の差分に応じた検出値Vxである第2の検出値Vx2を判定部へ出力する。
【0142】
そして、判定部は、第1発振信号SG1の周波数と、温度制御部の指示により第2発振器71が第2の所定温度T5に調整されている間に第2発振器71の発振に基づいて生成される第3発振信号SG3の周波数と、の差分に応じた正常値である第2の正常値V5から第2の検出値Vx2が所定値(マージン値α)を超えて相違する場合に、通信線31に不正侵入があることを判定する。
【0143】
なお、第1の所定温度T4は摂氏25度より低い温度であってもよいし、第2の所定温度T5は第1の所定温度T4より低い温度であってもよい。
【0144】
[2.4 その他]
実施形態の検出装置40は、PHY部11の内部に設けられている。しかしながら、検出装置40は、PHY部11の外部に設けられていてもよい。また、検出装置40のうち一部がPHY部11の内部に、他の一部がPHY部11の外部に設けられていてもよい。この場合、例えば検出装置40の「他の一部」に処理装置12を含んでもよい。すなわち、検出装置40が、制御部61及び記憶部62を含んでもよい。
【0145】
[3.補記]
なお、上記の実施形態及び各種の変形例については、その少なくとも一部を、相互に任意に組み合わせてもよい。また、今回開示された実施形態及び変形例はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0146】
1 車載システム
1a 車載システム
10 車載装置
11 PHY部
12 処理装置
13 第1発振器
14 温度センサ
20 ECU
21 ECU
22 ECU
23 ECU
24 ECU
30 通信線
31 通信線
32 通信線
33 通信線
34 通信線
40 検出装置
41 受信回路
42 発振回路
43 検出回路
44 ロジック回路
45 メモリ回路
431 抽出回路(CDR回路)
432 第1回路(PFD回路)
433 第2回路
434 CP回路
435 フィルタ回路
436 AD変換回路
50 変換装置
61 制御部
62 記憶部
63 読取部
64 記録媒体
71 第2発振器
72 温度調整部
73 温度センサ
9 車両
D1 不正端末
H1 ハブ(リピータハブ)
H2 発振器(第3発振器)
B1 バス
RS1 受信信号
SG1 第1発振信号
SG2 第2発振信号
SG3 発振信号(第3発振信号)
SGx 発振信号
DS1 デジタル信号
DS2 データ信号
Vx 検出値
Vx1 検出値(第1の検出値)
Vx2 検出値(第2の検出値)
V1 正常値
V4 正常値(第1の正常値)
V5 正常値(第2の正常値)
α マージン値
X1 時刻
X2 時刻
X3 時刻
X4 時刻
X5 時刻
X11 時点
X12 時点
X13 時点
T1 第1温度
T2 第2温度
T3 第3温度
T4 第1の所定温度
T5 第2の所定温度
Tx 検出温度
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12