(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】車載通信装置及び情報置換方法
(51)【国際特許分類】
H04L 43/04 20220101AFI20241029BHJP
H04L 43/08 20220101ALI20241029BHJP
H04L 41/142 20220101ALI20241029BHJP
H04L 12/28 20060101ALI20241029BHJP
【FI】
H04L43/04
H04L43/08
H04L41/142
H04L12/28 100A
(21)【出願番号】P 2023143054
(22)【出願日】2023-09-04
(62)【分割の表示】P 2019205750の分割
【原出願日】2019-11-13
【審査請求日】2023-09-04
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】上口 翔悟
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2007-081484(JP,A)
【文献】国際公開第2017/138517(WO,A1)
【文献】特開平06-199154(JP,A)
【文献】国際公開第2008/126698(WO,A1)
【文献】国際公開第2018/173732(WO,A1)
【文献】米国特許出願公開第2019/0141070(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-69/00
(57)【特許請求の範囲】
【請求項1】
車両に搭載された車載通信装置であって、
受信部と処理部と送信部とを備え、
前記受信部は、他の装置からメッセージを受信し、
前記処理部は、
前記受信部が受信したメッセージが周期的に送信される周期メッセージ又は周期的に送信されない非周期メッセージのいずれであるかを判定し、
判定した周期メッセージについて、当該周期メッセージが所定周期で送信されたか否かを判定し、
所定周期で送信されたと判定した周期メッセージに含まれる情報の異常を検出し、
異常が検出された情報に対する正常な情報を推定し、
前記受信部が受信したメッセージに含まれる情報を、推定した情報に置き換え、
情報を置換したメッセージに対して、置換の実施を示すフラグ情報を付与し、
前記送信部は、前記処理部が情報の異常を検出しないメッセージ、及び、前記処理部が情報を置換したメッセージを別の装置へ送信する、
車載通信装置。
【請求項2】
前記処理部は、異常が検出された周期メッセージより前に受信した複数の周期メッセージに含まれる情報の時系列的な変化に基づいて、異常が検出された周期メッセージの正常な情報を推定する、
請求項
1に記載の車載通信装置。
【請求項3】
前記処理部は、所定周期で送信されていないと判定した周期メッセージを破棄する、
請求項
1又は請求項
2に記載の車載通信装置。
【請求項4】
前記処理部は、非周期メッセージに含まれる情報の異常を検出する、
請求項
1から請求項
3までのいずれか1つに記載の車載通信装置。
【請求項5】
前記処理部は、異常が検出された非周期メッセージより前に受信した周期メッセージに含まれる情報に基づいて、異常が検出された非周期メッセージの正常な情報を推定する、
請求項
4に記載の車載通信装置。
【請求項6】
車両に搭載された車載通信装置が他の装置から受信したメッセージ
が周期的に送信される周期メッセージ又は周期的に送信されない非周期メッセージのいずれであるかを判定し、
判定した周期メッセージについて、当該周期メッセージが所定周期で送信されたか否かを判定し、
所定周期で送信されたと判定した周期メッセージに含まれる情報の異常を検出し、
異常を検出した情報に対
する正常な情報を推定し、
受信したメッセージに含まれる情報を、推定した情報に置き換え、
情報を置換したメッセージに対して、置換の実施を示すフラグ情報を付与し、
情報の異常を検出しないメッセージ、及び、情報を置換したメッセージを別の装置へ送信する、
情報置換方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両に搭載された他の装置との間でメッセージを送受信する車載通信装置、及び、このメッセージに含まれる情報を置換する情報置換方法に関する。
【背景技術】
【0002】
従来、車両にはECU(Electronic Control Unit)等の装置が複数搭載されている。これら複数の車載装置は通信線を介して相互に接続され、メッセージの送受信を行うことにより情報を交換し、協働により車両の種々の機能を実現している。車両内の通信には、CAN(Controller Area Network)又はイーサネット(登録商標)等の通信規格が広く採用されている。
【0003】
特許文献1においては、メッセージに含まれるメッセージ認証用情報に基づいて認証を行い、認証に失敗した場合にはこのメッセージを無効化することによって、ネットワーク上でなりすまし攻撃が発生した場合に防御動作を行うことができるネットワーク装置が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワークに対するなりすまし攻撃には、正常なメッセージ送受信の合間に異常なメッセージを挿入する攻撃と、正常なメッセージを異常なメッセージで上書きする攻撃とがある。正常なメッセージを異常なメッセージで上書きする攻撃に対して、特許文献1に記載のネットワーク装置のような無効化を行った場合、例えば周期的に送信されるべきメッセージに欠落が生じることとなる。
【0006】
本開示は、斯かる事情に鑑みてなされたものであって、その目的とするところは、ネットワークに対する攻撃の悪影響を低減することが期待できる車載通信装置及び情報置換方法を提案することにある。
【課題を解決するための手段】
【0007】
本態様に係る車載通信装置は、車両に搭載された車載通信装置であって、受信部と処理部と送信部とを備え、前記受信部は、他の装置からメッセージを受信し、前記処理部は、前記受信部が受信したメッセージが周期的に送信される周期メッセージ又は周期的に送信されない非周期メッセージのいずれであるかを判定し、判定した周期メッセージについて、当該周期メッセージが所定周期で送信されたか否かを判定し、所定周期で送信されたと判定した周期メッセージに含まれる情報の異常を検出し、異常が検出された情報に対する正常な情報を推定し、前記受信部が受信したメッセージに含まれる情報を、推定した情報に置き換え、情報を置換したメッセージに対して、置換の実施を示すフラグ情報を付与し、前記送信部は、前記処理部が情報の異常を検出しないメッセージ、及び、前記処理部が情報を置換したメッセージを別の装置へ送信する。
【0008】
本願は、このような特徴的な処理部を備える車載通信装置等の装置として実現することができるだけでなく、かかる特徴的な処理をステップとする情報置換方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。これらの装置の一部又は全部を実現する半導体集積回路として実現したり、これらの装置を含むその他の装置又はシステムとして実現したりすることができる。
【発明の効果】
【0009】
上記によれば、ネットワークに対する攻撃の悪影響を低減することが期待できる。
【図面の簡単な説明】
【0010】
【
図1】本実施の形態に係る車載通信システムの構成を示す模式図である。
【
図2】本実施の形態に係るGWの構成を示すブロック図である。
【
図3】本実施の形態に係るGWが有する異常検出テーブルの一構成例を示す模式図である。
【
図4】本実施の形態に係るGWが有する情報推定テーブルの一構成例を示す模式図である。
【
図5】本実施の形態に係るGWが行う情報の推定及び置換の一例を示す模式図である。
【
図6】本実施の形態に係るGWが行う処理の手順の一例を示すフローチャートである。
【
図7】本実施の形態に係るGWが行う処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
[本開示の実施の形態の説明]
最初に本開示の実施態様を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0012】
(1)本態様に係る車載通信装置は、車両に搭載された車載通信装置であって、受信部と処理部とを備え、前記受信部は、他の装置からメッセージを受信し、前記処理部は、前記受信部が受信したメッセージに含まれる情報の異常を検出し、異常が検出された情報に対する正常な情報を推定し、前記受信部が受信したメッセージに含まれる情報を、推定した情報に置き換える。
【0013】
本態様にあっては、車載通信装置が他の装置から受信したメッセージに含まれる情報の異常を検出した場合に、異常な情報に対する正常な情報を推定して、受信メッセージに含まれる異常な情報を推定した情報に置き換える。これにより、正当なメッセージを上書きするなりすまし攻撃がなされた場合であっても、本来のメッセージに付されているはずの正常な情報を推定して後続の処理に用いることができるため、なりすまし攻撃によるメッセージの欠落が後続の処理に悪影響を及ぼすことを抑制することが期待できる。
【0014】
(2)前記処理部は、前記受信部が受信したメッセージが周期的に送信される周期メッセージ又は周期的に送信されない非周期メッセージのいずれであるかを判定し、判定した周期メッセージについて、当該周期メッセージが所定周期で送信されたか否かを判定し、所定周期で送信されたと判定した周期メッセージに含まれる情報の異常を検出することが好ましい。
【0015】
本態様にあっては、受信したメッセージが周期メッセージ又は非周期メッセージのいずれであるかを車載通信装置が判定し、更に周期メッセージについて正しい所定周期で送信されたものであるかを判定する。車載通信装置は、正しい周期で送信された周期メッセージについて、異常検出を行う。これにより車載通信装置は、正しい周期で送信された周期メッセージを上書きするなりすまし攻撃に対処することができる。
【0016】
(3)前記処理部は、異常が検出された周期メッセージより前に受信した複数の周期メッセージに含まれる情報の時系列的な変化に基づいて、異常が検出された周期メッセージの正常な情報を推定することが好ましい。
【0017】
本態様にあっては、異常が検出された周期メッセージより前に受信した複数の周期メッセージに含まれる情報の時系列的な変化に基づいて、異常が検出された情報に対する正常な情報を推定する。これにより、周期メッセージに含まれる情報について以前の変化に基づいて最新情報の推定を行うことができる。
【0018】
(4)前記処理部は、所定周期で送信されていないと判定した周期メッセージを破棄することが好ましい。
【0019】
本態様にあっては、正しい周期で送信されていない周期メッセージについて、車載通信装置はこの周期メッセージを破棄する。これにより、正常な周期メッセージ送信の合間に異常なメッセージを送信するなりすまし攻撃に対処することができる。
【0020】
(5)前記処理部は、非周期メッセージに含まれる情報の異常を検出することが好ましい。
【0021】
本態様にあっては、非周期メッセージに含まれる情報の異常を車載通信装置が検出する。これにより車載通信装置は、非周期メッセージのなりすまし攻撃に対処することができる。
【0022】
(6)前記処理部は、異常が検出された非周期メッセージより前に受信した周期メッセージに含まれる情報に基づいて、異常が検出された非周期メッセージの正常な情報を推定することが好ましい。
【0023】
本態様にあっては、異常が検出された非周期メッセージより前に受信した周期メッセージに含まれる情報に基づいて、異常が検出された非周期メッセージの情報に対する正常な情報を推定する。これにより、周期メッセージの情報から判断できる車両の状態等に応じて、非周期メッセージの正常な情報を推定することができる。
【0024】
(7)送信部を備え、前記処理部は、情報を置換したメッセージに対して、置換の実施を示すフラグ情報を付与し、前記送信部は、前記処理部が情報の異常を検出しないメッセージ、及び、前記処理部が情報を置換したメッセージを別の装置へ送信することが好ましい。
【0025】
本態様にあっては、車載通信装置が複数の装置間でのメッセージの中継を行う。このときに車載通信装置は、中継対象のメッセージに異常を検出した場合、上述の推定及び置換を行ったメッセージを中継する。車載通信装置は、情報の置換を行った場合には、置換の実施を示すフラグ情報をメッセージに付すことによって、中継先の装置に対して置換の実施を通知する。これにより中継先の装置は、メッセージに付されたフラグ情報に基づいて情報置換の実施有無を判断することができ、例えば置換された情報の必要性が低い場合には破棄する等の処理を行うことが可能となる。
【0026】
(8)本態様に係る情報置換方法は、車両に搭載された車載通信装置が他の装置から受信したメッセージに含まれる情報の異常を検出し、異常を検出した情報に対しる正常な情報を推定し、受信したメッセージに含まれる情報を、推定した情報に置き換える。
【0027】
本態様にあっては、態様(1)と同様に、なりすまし攻撃によるメッセージの欠落が後続の処理に悪影響を及ぼすことを抑制することが期待できる。
【0028】
[本開示の実施形態の詳細]
本開示の実施形態に係る車載通信システムの具体例を、以下に図面を参照しつつ説明する。本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0029】
<システム構成>
図1は、本実施の形態に係る車載通信システムの構成を示す模式図である。本実施の形態に係る車載通信システムは、車両1に搭載されたGW(ゲートウェイ)2及び複数のECU4が通信線1a,1bを介して通信を行うシステムである。図示の例では、車両1にバス型の2つの通信線1a,1bが設けられている。第1の通信線1aにはGW2及び2つのECU4が接続されており、第2の通信線1bにはGW2及び2つのECU4が接続されている。GW2は、2つの通信線1a,1bが共に接続され、この2つの通信線1a,1b間の通信を中継する処理を行う。これにより4つのECU4は、通信線1a,1b及びGW2を介して通信を行うことができる。
【0030】
例えば、車載通信システムに含まれる1つのECU4が悪意のプログラムの注入等によって乗っ取りに合った場合(
図1においては乗っ取られたECU4をECU4Zとしている)、ECU4Zは車両1のネットワークを構成する通信線1aに対して異常なメッセージ送信を行う可能性がある。本実施の形態に係る車載通信システムは、このような異常なメッセージが送信されたことを検出し、異常なメッセージに含まれる情報を正常な情報に置き換える。
【0031】
異常なメッセージの情報の置き換えは、GW2が行ってもよく、各ECU4が行ってもよい。本実施の形態においては、GW2が情報の置き換えを行う者として説明する。本実施の形態に係るGW2は、一方の通信線1a,1bにて受信したメッセージを他方の通信線1a,1bから送信することにより、通信線1a,1b間のメッセージ中継を行う。GW2は、受信したメッセージに含まれる情報が異常であると判断した場合に、異常な情報に対する正常な情報を推定し、異常な情報を推定した情報に置き換えたメッセージを中継する。また本実施の形態に係るGW2が中継するメッセージには、情報の置換を行ったか否かを示すフラグ情報が付される。
【0032】
図2は、本実施の形態に係るGW2の構成を示すブロック図である。本実施の形態に係るGW2は、処理部(プロセッサ)21、記憶部(ストレージ)22、及び、2つの通信部(トランシーバ)23等を備えて構成されている。処理部21は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成されている。処理部21は、記憶部22に記憶されたプログラムを読み出して実行することにより、種々の処理を行うことができる。本実施の形態において処理部21は、記憶部22に記憶されたプログラム22aを読み出して実行することにより、通信線1a,1bの間のメッセージを中継する処理及び異常なメッセージに含まれる情報を置き換える処理等の種々の処理を行う。
【0033】
記憶部22は、例えばフラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子を用いて構成されている。記憶部22は、処理部21が実行する各種のプログラム、及び、処理部21の処理に必要な各種のデータを記憶する。本実施の形態において記憶部22は、処理部21が実行するプログラム22aと、メッセージに含まれる情報の異常を検出するための異常検出テーブル22bと、異常な情報に対する正常な情報を推定するための情報推定テーブル22cとを記憶している。異常検出テーブル22b及び情報推定テーブル22cの詳細については後述する。
【0034】
なおプログラム22aは、例えばGW2の製造段階において記憶部22に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをGW2が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体99に記録されたプログラムをGW2が読み出して記憶部22に記憶してもよく、また例えば記録媒体99に記録されたものを書込装置が読み出してGW2の記憶部22に書き込んでもよい。プログラム22aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。
【0035】
2つの通信部23は、通信線1a又は1bが接続され、通信線1a,1bを介したECU4との通信を行う。本実施の形態において通信部23は、例えばCAN(Controller Area Network)の通信規格に従うメッセージの送受信を行う。通信部23は、例えばCANコントローラのICを用いて構成され得る。ただし通信部23が用いる通信規格はCANに限らず、通信部23はCAN以外の通信規格、例えばイーサネット(登録商標)等の通信規格を用いて通信を行ってもよい。通信部23は、処理部21から与えられたメッセージを電気信号として通信線1a,1bへ出力することによりメッセージ送信を行う。また通信部23は、通信線1a,1bの電位をサンプリングして取得することにより、通信線1a,1b上の電気信号をデジタルデータに変換し、変換したデータを受信メッセージとして処理部21へ与える。
【0036】
また本実施の形態にGW2は、記憶部22に記憶されたプログラム22aを処理部21が読み出して実行することにより、中継処理部21a、周期判定部21b、異常検出部21c、情報推定部21d、情報置換部21e、破棄部21f及びフラグ付与部21g等が処理部21にソフトウェア的な機能部として実現される。中継処理部21aは、2つの通信部23の一方にて受信したメッセージを、他方の通信部23から送信することで、通信線1a,1bの間でメッセージを中継する処理を行う。
【0037】
周期判定部21bは、通信部23にて受信したメッセージの周期に関する判定処理を行う。周期判定部21bは、受信したメッセージが、周期的に送信される周期メッセージ、又は、周期的に送信されない非周期メッセージ(いわゆるイベントメッセージ)のいずれであるかを判定する。また周期判定部21bは、周期メッセージについて、周期メッセージ毎に定められた正当な周期での送信が行われているか否かを判定する。周期判定部21bは、記憶部22に記憶された異常検出テーブル22bの情報を基に判定を行う。
【0038】
異常検出部21cは、通信部23にて受信したメッセージに含まれる情報の異常を検出する処理を行う。異常検出部21cは、周期判定部21bが正しい周期で送信されたと判定した周期メッセージと、周期判定部21bが判定した非周期メッセージとを異常検出の対象とする。異常検出部21cは、記憶部22に記憶された異常検出テーブル22bを参照し、受信したメッセージに含まれる情報が異常検出テーブル22bに定められた条件を満たすか否かを判定することにより、受信メッセージが正常又は異常のいずれであるかを判定する。
【0039】
情報推定部21dは、異常検出部21cが異常を検出したメッセージについて、このメッセージに含まれる異常な情報に対する正常な情報を推定する処理を行う。情報推定部21dは、記憶部22に記憶された情報推定テーブル22cに定められた方法に基づいて、情報を推定する。
【0040】
情報置換部21eは、異常検出部21cが異常を検出したメッセージに含まれる異常な情報を、情報推定部21dが推定した正常な情報に置き換える処理を行う。
【0041】
破棄部21fは、周期判定部21bにより正当な周期で送信が行われていないと判定された周期メッセージを、なりすまし攻撃のメッセージとして破棄する処理を行う。破棄部21fは、例えば一方の通信部23にて受信したなりすまし攻撃のメッセージを他方の通信部23から送信しないよう中継処理部21aの中継処理を禁止することで、このメッセージを破棄させる。また破棄部21fは、なりすまし攻撃のメッセージを受信した通信部23から、このメッセージを破棄する命令を含むメッセージを送信することで、このメッセージを受信したECU4にメッセージを破棄させてもよい。
【0042】
フラグ付与部21gは、中継処理部21aが中継するメッセージに対して、情報置換部21eによる情報の置換が行われたか否かを示すフラグ情報を付与する処理を行う。本実施の形態においてGW2及びECU4が送受信するメッセージは、CANの通信規格に従うものである。例えば、CANのメッセージの1つであるデータフレームには、アービトレーションフィールド、コントロールフィールド、データフィールド、CRC(Cyclic Redundancy Check)フィールド及びACKフィールド等が含まれている。メッセージのIDはアービトレーションフィールドに収められ、例えばセンサの検出値又は機器の制御値等はデータフィールドに収められる。上記の情報推定部21d及び情報置換部21e等が扱う情報は、このデータフィールドに収められる情報である。本実施の形態においては、データフィールドの一部(1ビット~数ビット)の領域がフラグ情報の格納用として用いられ、フラグ付与部21gは、例えば情報の置換が行われた場合に”1”の値を、置換が行われていない場合に”0”の値をこの領域に格納する。なおCANの通信規格以外の通信規格が採用される場合も同様に、メッセージ中の適宜の領域をフラグ情報の格納用として用いればよい。
【0043】
<情報置換処理>
次に、本実施の形態に係るGW2が行う情報置換処理を説明する。
図3は、本実施の形態に係るGW2が有する異常検出テーブル22bの一構成例を示す模式図である。本実施の形態に係る異常検出テーブル22bは、メッセージに付されるIDに対応付けて、このメッセージが周期メッセージ又は非周期メッセージのいずれであるかを示す情報、周期メッセージである場合の送信周期、このメッセージに含まれる情報の正常範囲、及び、このメッセージに含まれる情報の正常な増減量等の情報を記憶する。なお本実施の形態においてGW2は、少なくとも周期メッセージについて、過去数回分の受信情報(メッセージに含まれる情報及び受信時刻等)を記憶しているものとする。
【0044】
図示の例では、IDが10のメッセージは周期メッセージであり、その送信周期は100m秒である。またこの周期メッセージに含まれる情報の値の正常範囲は10~70であり、正常増減量は±10である。GW2の周期判定部21bは、受信したメッセージのIDが10である場合、異常検出テーブル22bを参照することでこのメッセージを周期メッセージと判断し、その送信周期として100m秒を得る。周期判定部21bは、IDが10の周期メッセージを前回に受信したタイミングから今回に受信したタイミングまでの経過時間、即ち送信周期を算出する。周期判定部21bは、算出した送信周期が、異常検出テーブル22bに設定された送信周期と一致するか否かを判定する。ただしこのときに周期判定部21bは、設定された送信周期に対して所定の誤差(例えば±10%)を許容し、実際の受信タイミングから算出した送信周期が100m秒±10%(即ち90m秒~110m秒)の範囲であるか否かを判定する。
【0045】
異常検出部21cは、周期判定部21bによって適正な送信周期で送信されたと判定された周期メッセージ、及び、非周期メッセージと判定されたメッセージについて、異常検出テーブル22bに設定された正常範囲及び正常増減量に基づく異常検出を行う。異常検出部21cは、異常検出対象のメッセージに含まれる情報(CANの通信規格であればデータフィールドに格納された情報)を取得する。異常検出部21cは、メッセージから取得した情報の値が、異常検出テーブル22bに設定された正常範囲内であるか否かを判定する。図示の例では、IDが10の周期メッセージの正常範囲は10~70と設定されており、異常検出部21cは、メッセージから取得した情報の値が10~70の範囲内であれば、このメッセージを正常なメッセージと判定する。
【0046】
また異常検出部21cは、周期メッセージについて異常検出テーブル22bに正常増減量が設定されている場合に、前回に受信したメッセージの情報に対する今回のメッセージの情報の増減量を算出する。異常検出部21cは、算出した情報の増減量が、異常検出テーブル22bに設定された正常増減量の範囲に収まっているか否かを判定する。図示の例では、IDが10の周期メッセージの正常増減量は±10と設定されており、異常検出部21cは、例えば前回の値が50であった場合、今回の値が40~60の範囲内であれば、このメッセージを正常なメッセージと判定する。
【0047】
なお異常検出テーブル22bには、正常範囲及び正常増減量の両方が必ずしも設定されている必要はなく、いずれか一方のみが設定されていてもよい。異常検出部21cは、正常範囲及び正常増減量の両方が設定されている場合には、両方の条件を満たすものを正常メッセージと判定し、少なくとも一方を満たさないものを異常メッセージと判定する。ただし、異常検出部21cによる異常検出の方法は、上記の正常範囲及び正常増減量に基づくものに限らず、これら以外の方法が採用されてもよい。
【0048】
図4は、本実施の形態に係るGW2が有する情報推定テーブル22cの一構成例を示す模式図である。本実施の形態に係る情報推定テーブル22cは、メッセージに付されるIDに対応付けて、情報の推定方法を記憶している。なお本例では、IDが10,20,30のメッセージは周期メッセージであり、IDが40,50のメッセージは非周期メッセージであるものとする。
【0049】
図示の例では、IDが10のメッセージについては、過去3回分の情報の平均値を推定値として用いることが設定されている。情報推定部21dは、異常が検出されたIDが10のメッセージの情報を推定する場合、直近の過去3回分の情報を取得し、これらの情報の平均値を算出し、算出した平均値を推定値とする。情報置換部21eは、異常が検出されたメッセージの情報(即ちデータフィールドの値)をこの推定値に置き換える。
【0050】
また図示の例では、IDが20のメッセージについて、過去5回分の増減量の平均値での増減を行うことで推定値を算出することが設定されている。情報推定部21dは、異常が検出されたIDが20のメッセージの情報を推定する場合、直近の過去5回分の情報を取得し、各回における情報の増減量を算出する。情報推定部21dは、過去5回分の情報から4つの増減量を算出することができ、算出した4つの増減量の平均値を算出する。情報推定部21dは、算出した増減量の平均値を用いて、前回の情報の値を増減させた値を推定値とする。情報置換部21eは、異常が検出されたメッセージの情報をこの推定値に置き換える。
【0051】
また図示の例では、IDが30のメッセージについて、特定値を推定値とすることが設定されている。この場合に情報推定部21dは、異常が検出されたIDが30のメッセージの情報の推定値を、予め定められた特定値とする。情報置換部21eは、異常が検出されたメッセージの情報をこの推定値(特定値)に置き換える。
【0052】
また図示の例では、IDが40の非周期メッセージについて、車外の明るさから算出することが設定されている。本実施の形態において非周期メッセージの情報の推定は、この非周期メッセージより前に受信した関連する周期メッセージの情報に基づいて行われる。本例では、車両1に車外の明るさを検知するセンサが搭載されており、このセンサが検知した明るさの情報が周期メッセージとして送受信されているものとする。情報推定部21dは、異常が検出されたIDが40の非周期メッセージの情報を推定する場合、この非周期メッセージより前に受信した周期メッセージから明るさの情報を取得し、取得した明るさから所定の演算式を用いることで非周期メッセージの情報を推定する。情報置換部21eは、異常が検出された非周期メッセージの情報をこの推定値に置き換える。例えば、車両1のライトの点灯/消灯のイベント、光量調整のイベント等に関する非周期メッセージの情報を、車外の明るさから推定することができる。
【0053】
また図示の例では、IDが50の非周期メッセージについて、車両1の車速から算出することが設定されている。本例では、車両1の車速の情報が周期メッセージとして送受信されているものとする。情報推定部21dは、異常が検出されたIDが50の非周期メッセージの情報を推定する場合、この非周期メッセージより前に受信した周期メッセージから車速の情報を取得し、取得した車速が5km/h以上なら推定値を0とし、5km/h未満なら推定値を1とする。情報置換部21eは、異常が検出された非周期メッセージの情報をこの推定値に置き換える。例えば、車両1のドアの開閉のイベント、ドアのロック/アンロックのイベント等に関する非周期メッセージの情報を、車速から推定することができる。
【0054】
なお、本実施の形態に係るGW2が備える異常検出テーブル22b及び情報推定テーブル22cの情報は、例えば車載通信システム、GW2又はECU4等の設計段階又は製造段階等において、予め決定されてGW2の記憶部22に記憶される。また、異常検出テーブル22b及び情報推定テーブル22cの情報は、車両1の製造後の適宜のタイミングにおいて更新されてもよい。
【0055】
図5は、本実施の形態に係るGW2が行う情報の推定及び置換の一例を示す模式図である。
図5の上段には、周期メッセージM1~M5の送信タイミングを示すタイミングチャートを記載している。また
図5の中段にはなりすまし攻撃による情報の欠落状態を示すグラフを記載し、下段には欠落した情報を推定して置換した状態を示すグラフを記載している。
【0056】
図示の例では、周期メッセージがM1,M2,M3,M4,M5の順に送信され、このうちの3番目の周期メッセージM3がなりすまし攻撃によって書き換えられている。この周期メッセージM3を受信したGW2及びECU4等の装置では、周期メッセージM3が異常なメッセージであることが検出され、周期メッセージM3に含まれる情報は制御等の処理に用いることができず、周期的に取得される情報に欠落が生じる。
【0057】
本実施の形態に係るGW2は、異常が検出された周期メッセージM3について、なりすまし攻撃による書き換えが行われなかった場合の正常な情報を推定すると共に、異常が検出された周期メッセージM3の情報を推定した情報に置き換える。図示の例では、GW2は、異常が検出された周期メッセージM3より前に受信した周期メッセージM1からM2への情報の増減量を算出し、算出した増減量を周期メッセージM2の情報に適用することで周期メッセージM3の情報を推定している。GW2は、異常が検出された周期メッセージM3の情報を推定値で置換し、置換後の周期メッセージM3を中継する。
【0058】
図6及び
図7は、本実施の形態に係るGW2が行う処理の手順の一例を示すフローチャートである。本実施の形態に係るGW2の処理部21の中継処理部21aは、いずれかの通信部23にてECU4からのメッセージを受信したか否かを判定する(ステップS1)。メッセージを受信していない場合(S1:NO)、中継処理部21aは、メッセージを受信するまで待機する。
【0059】
メッセージを受信した場合(S1:YES)、処理部21の周期判定部21bは、受信したメッセージに含まれるIDを取得する(ステップS2)。周期判定部21bは、ステップS2にて取得したIDを基に、記憶部22に記憶された異常検出テーブル22bを参照する(ステップS3)。周期判定部21bは、異常検出テーブル22bに記憶された周期メッセージ又は非周期メッセージのいずれであるかを示す情報に基づいて、受信したメッセージが周期メッセージであるか否かを判定する(ステップS4)。受信したメッセージが周期メッセージではない場合(S4:NO)、即ち非周期メッセージである場合、周期判定部21bは、ステップS7へ処理を進める。
【0060】
受信したメッセージが周期メッセージである場合(S4:YES)、周期判定部21bは、同じIDのメッセージを前回に受信したタイミング及び今回に受信したタイミングの差から送信周期を算出し、異常検出テーブル22bに記憶された周期との比較を行うことで、受信した周期メッセージが適正な周期で送信されたものであるか否かを判定する(ステップS5)。適正な周期で送信されていない場合(S5:NO)、処理部21の破棄部21fは、受信したメッセージを破棄する処理を行い(ステップS6)、処理を終了する。適正な周期で送信されている場合(S5:YES)、周期判定部21bは、ステップS7へ処理を進める。
【0061】
受信したメッセージが非周期メッセージ又は適性周期で送信された周期メッセージである場合、処理部21の異常検出部21cは、このメッセージに含まれる情報と、異常検出テーブル22bに設定された正常範囲及び清浄増減量とを比較することによって、受信したメッセージが正常なメッセージであるか否かを判定する(ステップS7)。受信したメッセージが正常なメッセージである場合(S7:YES)、異常検出部21cは、ステップS11へ処理を進める。
【0062】
受信したメッセージが正常なメッセージではない場合(S7:NO)、即ち異常なメッセージである場合、処理部21の情報推定部21dは、記憶部22に記憶された情報推定テーブル22cを参照する(ステップS8)。情報推定部21dは、情報推定テーブル22cに記憶された推定方法を用いて、異常と判定されたメッセージに含まれる情報の異常値に対する正常値を推定する(ステップS9)。処理部21の情報置換部21eは、異常なメッセージに含まれる異常値を、ステップS9にて推定した正常値に置き換える(ステップS10)。
【0063】
処理部21のフラグ付与部21gは、中継するメッセージについて情報の推定及び置換を行ったか否かに基づき、中継するメッセージに含まれる置換に関するフラグ情報を設定する(ステップS11)。中継処理部21aは、フラグ情報が設定されたメッセージを通信部23から送信することで(ステップS12)メッセージを中継し、処理を終了する。
【0064】
<まとめ>
以上の構成の本実施の形態に係るGW2は、ECU4から受信したメッセージに含まれる情報の異常を検出した場合に、異常な情報に対する正常な情報を推定して、受信メッセージに含まれる異常な情報を、推定した情報に置き換える処理を行う。これによりGW2は、正当なメッセージを上書きするなりすまし攻撃がなされた場合であっても、本来のメッセージに含まれているはずの正常な情報を推定して後続の処理に用いることができるため、なりすまし攻撃によるメッセージの欠落が後続の処理に悪影響を及ぼすことを抑制することが期待できる。
【0065】
また本実施の形態に係るGW2は、受信したメッセージが周期メッセージ又は非周期メッセージのいずれであるかを判定し、更に周期メッセージについて正しい周期で送信されたものであるか否かを判定する。GW2は、正しい周期で送信された周期メッセージについて、異常検出を行う。これによりGW2は、正しい周期で送信された周期メッセージを上書きするなりすまし攻撃に対処することができる。
【0066】
また本実施の形態に係るGW2は、異常が検出された周期メッセージより前に受信した複数の周期メッセージに含まれる情報の時系列的な変化、例えば増減量に基づいて、異常が検出された周期メッセージの情報に対する正常な情報を推定する。これによりGW2は、周期メッセージに含まれる情報について、以前の情報の変化に基づいて最新情報の推定を行うことができる。
【0067】
また本実施の形態に係るGW2は、正しい周期で送信されていない周期メッセージを破棄する。これによりGW2は、正常な周期メッセージの送信の合い間に異常なメッセージを送信するなりすまし攻撃に対処することができる。
【0068】
また本実施の形態に係るGW2は、非周期メッセージに含まれる情報の異常を検出する。これによりGW2は、非周期メッセージのなりすまし攻撃に対処することができる。
【0069】
また本実施の形態に係るGW2は、異常が検出された非周期メッセージより前に受信した周期メッセージに含まれる情報に基づいて、異常が検出された非周期メッセージの情報に対する正常な情報を推定する。これによりGW2は、周期メッセージの情報から判断できる車両1の状態等に応じて、非周期メッセージの正常な情報を推定することができる。
【0070】
また本実施の形態に係るGW2は、複数のECU4の間でのメッセージの中継を行う。このときにGW2は、中継対象のメッセージに異常を検出した場合、上述の推定及び置換を行ってメッセージを中継する。GW2は、情報の置換を行った場合には、置換の実施を示すフラグ情報をメッセージに付すことによって、中継先のECU4に対して置換の実施を通知する。これにより中継先のECU4は、メッセージに含まれるフラグ情報に基づいて情報置換の実施有無を判断することができ、例えば置換された情報の必要性が低い場合には破棄する等の処理を行うことが可能となる。
【0071】
なお本実施の形態においては、メッセージを中継するGW2が異常なメッセージに含まれる情報の推定及び置換の処理を行う構成としたが、これに限るものではない。例えば車載通信システムに含まれる各ECU4が、異常なメッセージに含まれる情報の推定及び置換の処理を行う構成であってもよい。この場合に各ECU4は、異常なメッセージの受信に対して情報の推定及び置換を行い、推定した情報又は置換したメッセージを用いて後続の処理を行うことができる。
【0072】
また本実施の形態において
図1に示した車載通信システムのネットワーク構成は一例であって、これに限るものではない。また
図3に示した異常検出テーブル22bの周期、正常範囲及び正常増減量等の値は一例であって、これに限るものではない。また
図4に示した情報推定テーブル22cの推定方法は一例であって、これに限るものではない。
【0073】
車載通信システムにおける各装置は、マイクロプロセッサ、ROM及びRAM等を含んで構成されるコンピュータを備える。マイクロプロセッサ等の演算処理部は、
図6及び
図7に示すような、シーケンス図又はフローチャートの各ステップの一部又は全部を含むコンピュータプログラムを、ROM、RAM等の記憶部からそれぞれ読み出して実行してよい。これら複数の装置のコンピュータプログラムは、それぞれ、外部のサーバ装置等からインストールすることができる。また、これら複数の装置のコンピュータプログラムは、それぞれ、CD-ROM、DVD-ROM、半導体メモリ等の記録媒体に格納された状態で流通する。
【0074】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0075】
1 車両
1a,1b 通信線
2 GW(車載通信装置)
4 ECU
21 処理部
21a 中継処理部(受信部、送信部)
21b 周期判定部
21c 異常検出部
21d 情報推定部
21e 情報置換部
21f 破棄部
21g フラグ付与部
22 記憶部
22a プログラム
22b 異常検出テーブル
22c 情報推定テーブル
23 通信部
99 記録媒体