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