(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-11
(45)【発行日】2023-09-20
(54)【発明の名称】電子機器のセキュリティシステム
(51)【国際特許分類】
H04L 12/28 20060101AFI20230912BHJP
H04L 9/10 20060101ALI20230912BHJP
G08C 19/00 20060101ALI20230912BHJP
【FI】
H04L12/28 200Z
H04L9/10 Z
G08C19/00 S
【外国語出願】
(21)【出願番号】P 2022023031
(22)【出願日】2022-02-17
(62)【分割の表示】P 2019507906の分割
【原出願日】2017-08-28
【審査請求日】2022-02-17
(32)【優先日】2016-09-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-03-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】チョ、キョン-タク
(72)【発明者】
【氏名】ザオ、リ
(72)【発明者】
【氏名】サストリー、マノイ アール.
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2015-023340(JP,A)
【文献】特開2014-072673(JP,A)
【文献】米国特許出願公開第2016/0196230(US,A1)
【文献】PAL-STEFAN MURVAY ET AL,"Source Identification Using Signal Characteristics in Controller Area Networks",IEEE SIGNAL PROCESSING LETTERS, vol. 21 no. 4 31 January 2014 (2014-01-31) pages 395 - 399 XP0551853,2014年01月31日
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
H04L 9/10
G08C 19/00
(57)【特許請求の範囲】
【請求項1】
メモリ回路と、
プロセッサ回路であって、
2ワイヤバスに結合された複数の電子制御ユニット(ECU)を特徴づけ、それぞれのECUは、2値出力フレームに含まれる論理状態ビットが前記2ワイヤバス間のハイバスライン電圧(VCANH)とローバスライン電圧(VCANL)との間の電圧差によって決定される前記2値出力フレームを生成し、それぞれのECUを特徴付けることは、所定のビット論理状態に関して、前記それぞれのECUのVCANH電圧、前記それぞれのECUのVCANL電圧、または前記それぞれのECUのVCANH電圧とVCANL電圧の間の電圧差のうち少なくとも1つを決定することを含み、
複数のECUを前記特徴付けることのデータ表現を、前記メモリ回路に格納し、
受信されたメッセージが正当に送信されたか決定するように、前記複数のECUを前記特徴付けることの前記データ表現を使用し、前記決定することは、前記複数のECUを前記特徴付けることの前記データ表現に基づいて、前記複数のECUからECUを識別する試みを含む、
プロセッサ回路と、
を有
し、
前記複数のECUを前記特徴付けることは、前記複数のECUの動作の初期に最も頻繁に測定されたVCANH電圧の値(VfreqH1)に少なくとも部分的に基づいて、ハイアクノリッジ(ACK)しきい値電圧(VthH)を決定することと、前記複数のECUの前記動作の初期に最も頻繁に測定されたVCANL電圧の値(VfreqL1)に少なくとも部分的に基づいて、ローアクノリッジ(ACK)しきい値電圧(VthL)を決定することと、のうちの少なくとも一方を含み、
前記複数のECUを前記特徴付けることは、さらに、前記VthHが決定される場合、前記VCANH電圧の値を前記VthHより小さい値に制限することと、前記VthLが決定される場合、前記VCANL電圧の値を前記VthLより大きい値に制限することのうちの少なくとも1つにより、特徴集合の少なくとも1つの特徴の値を決定することを含む、
装置。
【請求項2】
前記VthHは、前記VfreqH1の平均値に対し、前記VfreqH1の確率分布の標準偏差に予め定められた第1の整数を乗じた値を加えた値に対応し、前記VthLは、前記VfreqL1の平均値に対し、前記VfreqL1の確率分布の標準偏差に予め定められた第2の整数を乗じた値を減じた値に対応する、
請求項1に記載の装置。
【請求項3】
前記プロセッサ回路はさらに、
メッセージに含まれるデータビットのVCANH、前記メッセージに含まれる前記データビットのVCANL、または前記メッセージに含まれる前記データビットの前記VCANHと前記VCANLの間の電圧差のうち少なくとも1つを、前記複数のECUを前記特徴付けることの前記データ表現に含まれる、対応するVACNH、VCANL、またはVCANH/VCANL電圧差と比較し、
前記比較が成功したことの決定に応答して、前記メッセージの伝送を許可する、
請求項1
または2に記載の装置。
【請求項4】
前記プロセッサ回路はさらに、
メッセージに含まれるデータビットのVCANH、前記メッセージに含まれる前記データビットのVCANL、または前記メッセージに含まれる前記データビットの前記VCANHと前記VCANLの間の電圧差のうち少なくとも1つを、前記複数のECUを前記特徴付けることの前記データ表現に含まれる、対応するVACNH、VCANL、またはVCANH/VCANL電圧差との比較の不成功に応答して、前記メッセージの伝送をブロックする、
請求項1
から3のいずれか一項に記載の装置。
【請求項5】
前記プロセッサ回路はさらに、
前記複数のECUのうちそれぞれのECUに関して、前記それぞれのECUのVCANH、前記それぞれのECUのVCANL、または前記それぞれのECUのVCANH/VCANL電圧差のうち少なくとも1つに関する通常オペレーション範囲のデータ表現を決定する、
請求項1
から4のいずれか一項に記載の装置。
【請求項6】
前記プロセッサ回路はさらに、
前記それぞれのECUの測定されたVCANH、前記それぞれのECUの測定されたVCANL、または前記それぞれのECUの測定されたVCANH/VCANL電圧差のうち少なくとも1つが、前記それぞれのECUの対応する通常オペレーション範囲内にあることに応答する比較の成功の決定に応答して、メッセージの伝送を許可する、
請求項
5に記載の装置。
【請求項7】
前記プロセッサ回路はさらに、
前記それぞれのECUの測定されたVCANH、前記それぞれのECUの測定されたVCANL、または前記それぞれのECUの測定されたVCANH/VCANL電圧差のうち少なくとも1つが、前記それぞれのECUの対応する通常オペレーション範囲外にあることに応答する比較の不成功の決定に応答して、前記メッセージの伝送をブロックする、
請求項
5または6に記載の装置。
【請求項8】
前記所定のビット論理状態は、論理「0」値に対応するビット論理状態を含む、請求項1
から7のいずれか一項に記載の装置。
【請求項9】
電子制御ユニット回路によって、2ワイヤバスに結合された複数の電子制御ユニットECUを特徴付ける段階であって、それぞれのECUは、2値出力フレームに含まれる論理状態ビットが前記2ワイヤバス間のハイバスライン電圧(VCANH)とローバスライン電圧(VCANL)との間の電圧差によって決定される前記2値出力フレームを生成し、それぞれのECUを特徴付ける段階は、所定のビット論理状態に関して、前記それぞれのECUのVCANH電圧、前記それぞれのECUのVCANL電圧、または前記それぞれのECUのVCANH電圧とVCANL電圧の間の電圧差のうち少なくとも1つを決定する、段階と、
前記電子制御ユニット回路によって、複数のECUを前記特徴付ける段階のデータ表現を格納させる段階と、
前記電子制御ユニット回路によって、受信されたメッセージが正当に送信されたか決定するように、前記複数のECUを前記特徴付ける段階の前記データ表現を使用する段階であって、前記決定することは、前記複数のECUを前記特徴付ける段階の前記データ表現に基づいて、前記複数のECUからECUを識別する試みを含む、段階と、
を含
み、
前記複数のECUを前記特徴付ける段階は、前記複数のECUの動作の初期に最も頻繁に測定されたVCANH電圧の値(VfreqH1)に少なくとも部分的に基づいて、ハイアクノリッジ(ACK)しきい値電圧(VthH)を決定する段階と、前記複数のECUの前記動作の初期に最も頻繁に測定されたVCANL電圧の値(VfreqL1)に少なくとも部分的に基づいて、ローアクノリッジ(ACK)しきい値電圧(VthL)を決定する段階と、のうちの少なくとも一方を含み、
前記複数のECUを前記特徴付ける段階は、さらに、前記VthHが決定される場合、前記VCANH電圧の値を前記VthHより小さい値に制限する段階と、前記VthLが決定される場合、前記VCANL電圧の値を前記VthLより大きい値に制限する段階のうちの少なくとも1つにより、特徴集合の少なくとも1つの特徴の値を決定する段階を含む、
方法。
【請求項10】
前記VthHは、前記VfreqH1の平均値に対し、前記VfreqH1の確率分布の標準偏差に予め定められた第1の整数を乗じた値を加えた値に対応し、前記VthLは、前記VfreqL1の平均値に対し、前記VfreqL1の確率分布の標準偏差に予め定められた第2の整数を乗じた値を減じた値に対応する、
請求項9に記載の方法。
【請求項11】
前記電子制御ユニット回路によって、メッセージに含まれるデータビットのVCANH、前記メッセージに含まれる前記データビットのVCANL、または前記メッセージに含まれる前記データビットの前記VCANHと前記VCANLの間の電圧差のうち少なくとも1つを、前記複数のECUを前記特徴付ける段階の前記データ表現に含まれる、対応するVACNH、VCANL、またはVCANH/VCANL電圧差と比較する段階と、
前記比較が成功したことの決定に応答して、前記電子制御ユニット回路によって、前記メッセージの伝送を許可する段階と、
をさらに含む、請求項
9または10に記載の方法。
【請求項12】
前記電子制御ユニット回路によって、メッセージに含まれるデータビットのVCANH、前記メッセージに含まれる前記データビットのVCANL、または前記メッセージに含まれる前記データビットの前記VCANHと前記VCANLの間の電圧差のうち少なくとも1つを、前記複数のECUを前記特徴付ける段階の前記データ表現に含まれる、対応するVACNH、VCANL、またはVCANH/VCANL電圧差との比較の不成功に応答して、前記メッセージの伝送をブロックする段階、
をさらに含む、請求項
9から11のいずれか一項に記載の方法。
【請求項13】
前記電子制御ユニット回路によって、それぞれのECUに関して、前記それぞれのECUのVCANH、前記それぞれのECUのVCANL、または前記それぞれのECUのVCANH/VCANL電圧差のうち少なくとも1つに関する通常オペレーション範囲のデータ表現を決定する段階、
をさらに含む、請求項
9から12のいずれか一項に記載の方法。
【請求項14】
前記電子制御ユニット回路によって、前記それぞれのECUの測定されたVCANH、前記それぞれのECUの測定されたVCANL、または前記それぞれのECUの測定されたVCANH/VCANL電圧差のうち少なくとも1つが、前記それぞれのECUの対応する通常オペレーション範囲内にあることに応答する比較の成功の決定に応答して、前記メッセージの伝送を許可する段階、
をさらに含む、請求項
13に記載の方法。
【請求項15】
前記電子制御ユニット回路によって、前記それぞれのECUの測定されたVCANH、前記それぞれのECUの測定されたVCANL、または前記それぞれのECUの測定されたVCANH/VCANL電圧差のうち少なくとも1つが、前記それぞれのECUの対応する通常オペレーション範囲外にあることに応答する比較の不成功の決定に応答して、前記メッセージの伝送をブロックする段階、
をさらに含む、請求項
13または14に記載の方法。
【請求項16】
前記所定のビット論理状態は、論理「0」値に対応するビット論理状態を含む、請求項
9から15のいずれか一項に記載の方法。
【請求項17】
2ワイヤバスに結合された複数の電子制御ユニットECUを特徴付ける手段であって、それぞれのECUは、2値出力フレームに含まれる論理状態ビットが前記2ワイヤバス間のハイバスライン電圧(VCANH)とローバスライン電圧(VCANL)との間の電圧差によって決定される前記2値出力フレームを生成し、
それぞれのECUを特徴付けることは、所定のビット論理状態に関して、前記それぞれのECUのVCANH電圧、前記それぞれのECUのVCANL電圧、または前記それぞれのECUのVCANH電圧とVCANL電圧の間の電圧差のうち少なくとも1つを決定することを含む、手段と、
複数のECUを前記特徴付けることのデータ表現を格納する手段と、
受信されたメッセージが正当に送信されたか決定するように、前記複数のECUを前記特徴付けることの前記データ表現を使用する手段であって、前記決定することは、前記複数のECUを前記特徴付けることの前記データ表現に基づいて、前記複数のECUからECUを識別する試みを含む、手段と、
を含
み、
前記複数のECUを前記特徴付けることは、前記複数のECUの動作の初期に最も頻繁に測定されたVCANH電圧の値(VfreqH1)に少なくとも部分的に基づいて、ハイアクノリッジ(ACK)しきい値電圧(VthH)を決定することと、前記複数のECUの前記動作の初期に最も頻繁に測定されたVCANL電圧の値(VfreqL1)に少なくとも部分的に基づいて、ローアクノリッジ(ACK)しきい値電圧(VthL)を決定することと、のうちの少なくとも一方を含み、
前記複数のECUを前記特徴付けることは、さらに、前記VthHが決定される場合、前記VCANH電圧の値を前記VthHより小さい値に制限することと、前記VthLが決定される場合、前記VCANL電圧の値を前記VthLより大きい値に制限することのうちの少なくとも1つにより、特徴集合の少なくとも1つの特徴の値を決定することを含む、
システム。
【請求項18】
前記VthHは、前記VfreqH1の平均値に対し、前記VfreqH1の確率分布の標準偏差に予め定められた第1の整数を乗じた値を加えた値に対応し、前記VthLは、前記VfreqL1の平均値に対し、前記VfreqL1の確率分布の標準偏差に予め定められた第2の整数を乗じた値を減じた値に対応する、
請求項17に記載のシステム。
【請求項19】
メッセージに含まれるデータビットのVCANH、前記メッセージに含まれる前記データビットのVCANL、または前記メッセージに含まれる前記データビットの前記VCANHと前記VCANLの間の電圧差のうち少なくとも1つを、前記複数のECUを前記特徴付けることの前記データ表現に含まれる、対応するVACNH、VCANL、またはVCANH/VCANL電圧差と比較する手段と、
前記比較が成功したことの決定に応答して、前記メッセージの伝送を許可する手段と、
をさらに含む、請求項
17または18に記載のシステム。
【請求項20】
メッセージに含まれるデータビットのVCANH、前記メッセージに含まれる前記データビットのVCANL、または前記メッセージに含まれる前記データビットの前記VCANHと前記VCANLの間の電圧差のうち少なくとも1つを、前記複数のECUを前記特徴付けることの前記データ表現に含まれる、対応するVACNH、VCANL、またはVCANH/VCANL電圧差との比較の不成功に応答して、前記メッセージの伝送をブロックする手段
をさらに含む、請求項
17から19のいずれか一項に記載のシステム。
【請求項21】
それぞれのECUに関して、前記それぞれのECUのVCANH、前記それぞれのECUのVCANL、または前記それぞれのECUのVCANH/VCANL電圧差のうち少なくとも1つに関する通常オペレーション範囲のデータ表現を決定する手段
をさらに含む、請求項
17から20のいずれか一項に記載のシステム。
【請求項22】
前記それぞれのECUの測定されたVCANH、前記それぞれのECUの測定されたVCANL、または前記それぞれのECUの測定されたVCANH/VCANL電圧差のうち少なくとも1つが、前記それぞれのECUの対応する通常オペレーション範囲内にあることに応答する比較の成功の決定に応答して、メッセージの伝送を許可する手段
をさらに含む、請求項
21に記載のシステム。
【請求項23】
前記それぞれのECUの測定されたVCANH、前記それぞれのECUの測定されたVCANL、または前記それぞれのECUの測定されたVCANH/VCANL電圧差のうち少なくとも1つが、前記それぞれのECUの対応する通常オペレーション範囲外にあることに応答する比較の不成功の決定に応答して、メッセージの伝送をブロックする手段
をさらに含む、請求項
21または22に記載のシステム。
【請求項24】
前記所定のビット論理状態は、論理「0」値に対応するビット論理状態を含む、請求項
17から23のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は電子機器のセキュリティシステムに関し、特に車両電子制御システムのセキュリティシステムに関する。
発明者 Kyong-Tak Cho,Li Zhao,Manoj R. Sastry
[関連出願の相互参照]
本非仮出願は、2016年9月28日に出願された米国仮特許出願第62/401,145号の恩恵を主張し、その内容全体は参照によって本明細書に組み込まれる。
【背景技術】
【0002】
「電子制御ユニット」(ECU)は、搬送車両における電気システムおよび/またはサブシステムを制御する組み込みシステムの一般用語である。搬送車両は、例えば自動車、航空機、電車、バス等を含んでよい。車両において、複数のECUはネットワーク、例えばバスを介して相互接続されてよい。ECUは、コマンドおよび/またはデータを含むメッセージの送信および/または受信を行うように構成されてよい。
【0003】
ECUはサイバーアタックを受けやすい。危殆化したECUは、車両ネットワークに悪意のあるメッセージを注入するべく攻撃者により利用され得る。悪意のあるメッセージは次に、車両および/またはECU設計者により意図されない態様で、別のECUを動作させ得る。
【0004】
いくつかのバスプロトコルのためのメッセージフォーマットはソース識別子を含まない。換言すれば、そのようなメッセージは、特定メッセージを送信したECUに対応するECU識別子を含まない。このソース識別子の欠如は、悪意のあるメッセージの発生源であるかもしれない危殆化したECUの識別を困難にし得る。
【図面の簡単な説明】
【0005】
以下の発明を実施するための形態を読むことで、また、図面を参照することにより、特許請求に記載された主題の様々な実施形態の特徴および利点が明らかになるだろう。ここで、同じ参照番号は同じ部分を示す。
【
図1】本明細書で説明される少なくとも1つの実施形態に係るコントローラエリアネットワーク(CAN)を含むシステムを示す。
【
図2A】本明細書で提示される少なくとも1つの実施形態に係る、一例のコントローラエリアネットワーク(CAN)バスメッセージフォーマット(すなわち「メッセージフレーム」)を示す。
【
図2B】本明細書で開示される少なくとも1つの実施形態に係るCANバスのノミナルな劣性および優勢のバス電圧を例示するプロットである。
【
図3】本明細書の少なくとも1つの実施形態に係る電子制御ユニット(ECU)を示す。
【
図4】本明細書の少なくとも1つの実施形態に係る分類子構築を例示するオペレーションのフローチャートである。
【
図5】本明細書の少なくとも1つの実施形態に係るアクノリッジ(ACK)閾値電圧の決定を例示するオペレーションのフローチャートである。
【
図6】本明細書の少なくとも1つの実施形態に係る特徴集合の特徴値の決定を例示するオペレーションのフローチャートである。
【
図7】本明細書の少なくとも1つの実施形態に係る受信メッセージの認証を例示するオペレーションのフローチャートである。
【発明を実施するための形態】
【0006】
概して、この開示は車両の電子制御ユニット(ECU)のシグネチャを決定し、シグネチャに少なくとも部分的に基づいてECUを識別する装置、システムおよび方法を提供する。車両は、限定されないものの、自動車、電車、バス、航空機等を含んでよい。車両は、ネットワーク、すなわち車両通信バスにより結合された複数のECUを含んでよい。選択ECUがバス上にメッセージを送信する場合に、シグネチャはバスにも結合された受信ECUで検出される1または複数のバス電圧に関連する。シグネチャは次に、送信ECUを識別するのに受信ECUにより用いられ得る。
【0007】
バス電圧は特徴集合の1または複数の特徴の値を決定するのに用いられ得る。複数の特徴値を含む特徴集合は、次に送信ECUのシグネチャに対応し得る。特徴集合は次に、特徴集合の特徴の値に少なくとも部分的に基づいて送信ECUを識別するように構成された分類回路に入力され得る。
【0008】
次に、識別されたECUからの正規の送信に当該メッセージが対応するか否かが決定され得る。例えば、コントローラエリアネットワーク(CAN)バスプロトコルにおいて、各ECUは可能なメッセージの固有サブセットを正当に送信できるのみであってよく、各メッセージは固有の(それぞれの)メッセージ識別子を含む。この情報は受信メッセージの認証を容易にするのに、すなわち、識別された送信ECUにより受信メッセージが正当に送信されたか否かを決定する場合に用いられてよい。
【0009】
概して、1つのECUのみがアービトレーションに勝利した後にバス上に送信し得る。従って、1または複数の受信ECUにより検出されるバス信号レベル、例えば電圧は送信ECUに対応し、本明細書で説明されるように、送信ECUを識別するのに用いられ得る。この場合に、CANバスプロトコルの例外は、CANバスプロトコルメッセージフレームにおけるアクノリッジ(ACK)ビットである。対応するメッセージの送信ECUによる送信の間に、1または複数の受信ECUにより論理ゼロのACKが送信され得る。従って、ACKビットに関連付けられるバス電圧は送信ECUを表さなくてもよく、送信ECUの識別を妨害し得る。
【0010】
本明細書で提供される装置、方法およびシステムは、複数の受信された0ビット電圧に少なくとも部分的に基づいて少なくとも1つのACK閾値電圧を決定するように構成される。1または複数のACK閾値電圧は次に、ACKビットに関連付けられた受信電圧を除去する(filter out)するのに用いられてよい。ACKビットに関連付られた電圧を濾過することは、選択された受信メッセージのソース(すなわち送信)ECUの認証の精度、および、送信ECUのシグネチャの精度を高めるように構成される。
【0011】
以下でさらなる詳細が説明されるように、いくつかの実施形態においては、特徴集合内の選択された特徴の値(すなわちシグネチャ)は、送信ECUの送受信機の特性の経時的な変化を取り扱うべく動作中に更新されてよい。そのような更新は車両内のECUの動作中の適応学習を促進するように構成される。
【0012】
ハイバスライン電圧(例えばVCANH)およびローバスライン電圧(例えばVCANL)の両方と、それらそれぞれの、受信メッセージを認証するための関連する特徴とを用いることが以下で説明される。ハイバスライン電圧およびそれらの関連する特徴、ローバスライン電圧およびそれらの関連する特徴、または、ハイバスライン電圧およびローバスライン電圧の両方およびそれらそれぞれの関連する特徴を用いて受信メッセージ認証のためのシグネチャを決定することが本明細書で同様に企図されることに留意されるべきである。
【0013】
図1は、本明細書で説明される少なくとも1つの実施形態に係るコントローラエリアネットワーク(CAN)100を含むシステム101を示す。ネットワーク100は、それぞれバス106に結合された複数のECU102A、102B,…,102Nを備える。車両内のオペレーション中に、各ECU、例えばECU102Aは、1または複数のセンサからの入力を受信し、かつ/または、1または複数のアクチュエータ、例えばセンサおよび/またはアクチュエータ130に制御出力を提供するように構成されてよい。例えば、センサは温度センサ、圧力センサ、加速度計等を含んでよい。一例において、選択ECUの動作は別のECUから受信したメッセージに応答してよく、メッセージはバス106を介して通信される。別の例において、選択ECUはバス106を介して別のECUにメッセージを送信するように構成されてよい。
【0014】
各ECU102A、102B,…,102Nは概して、車両のいくつかの側面、例えば電気/エンジン制御モジュール(ECM)、パワートレイン制御モジュール(PCM)、送信制御モジュール(TCM)、ブレーキ制御モジュール(BCMまたはEBCM)、中央制御モジュール(CCM)、中央タイミングモジュール(CTM)、ジェネラル電子モジュール(GEM)、ボディ制御モジュール(BCM)、サスペンション制御モジュール(SCM)等にわたる制御を提供するように構成される。いくつかの状況において1つのECUは1または複数のタイプの1または複数のECUを含んでよい。従って、ECU102A、102B,…,102Nはバス106上にメッセージを送信し、かつ/または、バス106を介して他のECUからメッセージを受信するように構成されてよい。
【0015】
各メッセージおよび/またはバス106は、1または複数の通信バスプロトコルに準拠し、かつ/または、互換性を有してよい。一例の実施形態において、バス106は標準的な車両バスプロトコル、例えばCANバスプロトコルに準拠してよい。この例の実施形態において、バス106は第1導体106A(CANH)および第2導体106B(CANL)を含む2つのワイアバスに対応する。CANH106Aはハイバスラインに対応し、CANL106Bはローバスラインに対応する。バス106は各端部で、例えばインピーダンスマッチングレジスタ110A、110Bにより終了されてよい。もちろん他の実施形態においては、本明細書で説明されるように、バス106は、他の固定長のバスプロトコルに準拠するか、これと互換性を有してよく、これは例えば他の標準的な、および/または、独自のバスプロトコル、例えばJ1850を含んでよい。
【0016】
動作中に、各ECU102A、102B,…102Nはそれぞれ、前述のバス(例えばCANバス)プロトコルにより定義される1または複数のメッセージ104A、104B,…,104Nを送信、すなわちブロードキャストしてよい。ブロードキャストメッセージ、例えばメッセージ104Aは次に各ECUにより受信メッセージ105として受信されてよい。メッセージ104A、104B,…,104Nは概して、メッセージタイプ識別子(メッセ-ジID)フィールドおよびデータフィールドを有してよい。メッセ-ジIDは、各ECUによる非破壊アービトレーションに用いられるメッセージ優先順位を提供する。換言すれば、複数のECUが同時に送信を試みる場合に、より低い優先順位のメッセージを送信するECUは送信を中止して後で再びトライするように構成される。複数のECUは、同じメッセージを送信しなくてよく、従って各ECU、例えばECU102Aは、可能なメッセージの固有サブセットを送信するように構成される。
【0017】
CANプロトコルによると、メッセージ104A、104B,…,104Nのフォーマットはそれぞれメッセージ識別子を含むが、フォーマットはソース識別子情報を含まない。従って、メッセージ105を受信するECUは、メッセージ105のフォーマットのみに基づいてはソースのインテグリティを検証することができない。換言すれば、メッセージ105を受信するECU102Bは、メッセ-ジIDと、コンテンツ、すなわち受信メッセージ105のビットシーケンスのみに基づいてはメッセージのソースを認証することができない。
【0018】
図2Aは、本明細書で提示される少なくとも1つの実施形態に係る、一例のコントローラエリアネットワーク(CAN)バスメッセージフォーマット(すなわち「メッセージフレーム」)200Aを示す。メッセージフレーム200Aは、他の複数のフィールドの間に、(メッセージ識別子ID202を含む)アービトレーションフィールドと、アクノリッジ(ACK)ビット206を含むアクノリッジフィールドとを含む。メッセージに応じ、メッセージフレーム200Aはデータフィールド204を含んでよい。メッセージフレーム200Aはさらに、サイクリックレダンダンシーチェック(CRC)フィールド208を含む。
【0019】
メッセージ200Aは、例えば送信されたメッセージ104Aおよび/または対応する受信メッセージ105を表してよい。メッセ-ジID202は11個のビットまたは29+2個のビットを含んでよい。メッセ-ジID202は、メッセージ優先順位およびメッセージ関数の両方に対応する。換言すれば、各メッセ-ジIDは、メッセージ優先順位およびメッセージ関数の両方を示す。メッセ-ジIDは従って、アービトレーションの間に高い優先順位のメッセージにプレファレンスを付与するのに用いられるように構成される。CANバスプロトコルによると、例えば相対的に高い優先順位のメッセージは、相対的により小さいメッセ-ジIDの値を有する。従って、メッセ-ジID202はメッセージが何についてであるか(例えば「タイヤ空気圧」を指し示すのに用いられる2値コード)に関する情報を含んでもよいが、メッセ-ジID202はメッセージを送信する実際のECUを識別するECU識別子を含まなくてもよい。データフィールド204は次に、メッセージ自体の実際のデータ(例えば「タイヤ空気圧が25psi」であることを表すコード)を含んでよい。ACK206は単一ビットであり、本明細書で説明されるように、メッセージを受信する全てのECUにより送信されうる。
【0020】
従って、CANバスプロトコルに準拠する各メッセージ、例えばメッセージ200Aは、複数のフィールドに配置された複数のビットを含む。各フィールドは少なくとも1つのビットを含み、各ビットは論理0(「0ビット」)または論理1(「1ビット」)に対応する。
【0021】
物理的に、2ワイアバスに関し、各ビットはバスに亘って印加される差動電圧により表されてよい。CANバスプロトコルにおいて、例えば第1ワイア(すなわち導体)はCANH(すなわちハイバスライン)と呼ばれ、第2ワイアはCANL(すなわちローバスライン)と呼ばれる。送信ECUは、ビットを送信するべく第1電圧(すなわちハイバスライン電圧)、VCANHをCANHに印加し、第2電圧(すなわちローバスライン電圧)、VCANLをCANLに印加するように構成される。CANバスプロトコルにおいて0ビットは「優勢」とみなされ、1ビットは「劣性」とみなされる。換言すれば、送信ECUはCANHラインおよびCANLラインを固有の電圧に能動的に駆動して0ビットを送信し、CANHラインおよびCANLラインを固有の電圧に受動的にプル(アップおよび/またはダウン)して1ビットを送信するように構成される。従って、第1ECUが0ビットを送信し、第2ECUが1ビットを送信する場合には、次にバス状態は0ビットに対応するだろう。この構成は非破壊アービトレーションと、競合回避を可能にする。換言すれば、CANバスプロトコルによると、第2ECUは、その送信ビットとは異なるバス状態を検出し、送信を停止するだろう。
【0022】
図2Bは、本明細書で開示される少なくとも1つの実施形態に係るCANバスのノミナルな劣性およびノミナルな優勢のバス電圧を例示するプロット200Bである。ECUは0ビットを送信する場合に、第1電圧(CANHに結び付けられたVCANH)をVCANH0に増大させ、第2電圧(CANLに結び付けられたVCANL)をVCANL0に低減させることにより、これを行う。例えば、VCANH0は約3.5Vであってよく、VCANL0は約1.5Vであってよい。
【0023】
プロット200Bは、CANバス電圧VCANHおよびVCANLの3つの領域230、232、234を含む。第1領域230および第3領域234は劣性状態のCANバスに対応する。劣性状態において、CANバスはアイドルであるか、或いはECUは論理1、すなわち1ビットを送信している。第2領域232は優勢状態のCANバスに対応する。優勢状態において、少なくとも1つのECUは論理0、すなわち0ビットを送信している。従って、優勢状態の間にCANHラインおよびCANLラインに亘って検出される差動電圧は、Vdiff(D)=VCANH0-VCANL0に対応し、劣性状態の間にCANHラインおよびCANLラインに亘って検出される差動電圧はVdiff(R)に対応する。
【0024】
例えば、それぞれCANHおよびCANL上において、0ビットはノミナルに3.5V(VCANH0)に等しいVCANHと、ノミナルに1.5V(VCANL0)に等しいVCANLとに対応してよい。しかしながら、ECUの送受信機内のトランジスタおよびダイオードにおけるプロセス変動に起因して、0ビットを送信する場合に各送信機はノミナル値とは異なる電圧を出力してよい。例えば、いくつかのECUの実際の出力電圧は、対応するする平均値および対応する標準偏差を持つ分布、例えばガウス分布を有してよい。送信機ごとのCANH電圧およびCANL電圧の出力におけるこれらの変化は、送信機ごと、ひいてはECUごとに固有のシグネチャを決定するのに用いられ得る。固有のシグネチャは次に、以下でさらに詳細に説明されるように、送信ECUを識別するのに用いられ得る。
【0025】
図2Aを再び参照すると、アクノリッジ(ACK)ビット206はACKスロット、すなわちACK時間間隔に位置する。送信されたメッセージを受信するECUは、送信されたメッセージのACKスロットの間に0ビットを送信するように構成される。従って、ACKスロットの間に検出されるVCANHおよびVCANLは、送信ECUのみに関連するよりもむしろ、受信ECUのACKビット送信の組み合わせに関連する。複数のECUが送信されたメッセージのアクノリッジを行う場合に、ACKの間に検出されるVCANHは、概して送信ECUのVCANH0より大きくてよく、ACKの間に検出されるVCANLは、概して送信ECUのVCANL0より小さくてよい。換言すれば、複数のECUがACK0ビットを送信する場合に、これらそれぞれの駆動トランジスタは電源電圧とバスラインとの間、例えばCANHに結合されたトランジスタを駆動するように構成されたハイサイド電源電圧と、CANLに結合されたトランジスタを駆動するように構成されたローサイド電源電圧との間に並列に結合されてよい。従って、駆動トランジスタのON抵抗は並列に結合されて、バスラインと電源電圧との間の抵抗を低減する。CANHバスライン電圧は次に、ハイサイド駆動トランジスタの電源電圧に対して相対的により近くてよく、CANLバスライン電圧は次に、ローサイド駆動トランジスタの電源電圧に対して相対的により近くてよい。この情報は、以下で更に詳細に説明されるように、ECUシグネチャを決定する場合にACK CANH電圧およびCANL電圧を取り扱うのに用いられ得る。
【0026】
少なくともメッセ-ジID202に含まれるビットは複数の0ビットおよび複数の1ビットを含みうることは理解されよう。例えば11ビットのメッセ-ジID202は最大で11個の0ビットを含んでよく、拡張されたメッセ-ジIDは29個までの0ビットを含んでよい。同様に、データフィールド204は64個までの0ビットを含んでよく、CRCフィールド208は15個までの0ビットを含んでよい。対照的に、ACKフィールド206は最大で1つの0ビットを含んでよい。従って、ECUにより受信される各0ビットは、1または複数の受信ECUにより送信されるACKビットよりもむしろ、1つのECU(「送信ECU」)により送信される非ACKビットに対応する可能性が相対的に高い。例えば、同様に0ビットおよび1ビットである可能性がある120個のビットのメッセージに関し、0ビットがACKビットである確率は1/(120/2)≒1.7%である。従って、受信メッセージに関し、相対的により頻繁にキャプチャされるCANバス電圧値VCANH、VCANLは、1または複数の他の受信ECUにより送信されたACKビットよりむしろ、1つのECUにより送信された非ACKビットに対応する可能性が高い。
【0027】
図3は本明細書の少なくとも1つの実施形態に係るECU300を示す。
図3に示される例示のECU300は、例えば
図1のECU102A、102B,…または102Nを表してよい。ECU300は概して、プロセッサ回路302、メモリ回路304、分類回路306、識別子(ID)マッピング記憶装置307、シグネチャ回路308、シグネチャデータ記憶装置309、特徴集合回路310、ACK閾値回路312、電圧測定回路314、インタフェース回路316、および送受信機回路318を備える。インタフェース回路316は例えば、1または複数のアナログ-デジタルコンバータ(ADC)回路、デジタル-アナログコンバータ(DAC)回路、マルチプレクサ回路等を含んでよい。
【0028】
ECU300はハイ信号ラインCANH106Aおよびロー信号ラインCANL106Bを含む2つのワイアバスとして示されたCANバス106に結合される。ECU300がCANバス106を介して他のECU(この
図3には図示せず)とメッセージを交換することは理解されるべきである。以下でより詳細に説明されるように、ECU300は概して、シグネチャに少なくとも部分的に基づき、かつ、IDマップ記憶装置307に含められた、メッセ-ジIDからECU IDへのマッピングに少なくとも部分的に基づいて、別のECU(すなわち送信ECU)から受信したメッセージのソースを識別するように構成される。
【0029】
いくつかの実施形態において、ECU300は、バス106に結合された他のECUそれぞれを識別するための「マスター」ECUとして指定され得る。これらの実施形態において認証処理はマスタECU上に集中されてよい。マスタECUは、送信ECUごとに固有のシグネチャを決定し、(以下でさらに詳細に説明されるように)対応する分類子をトレーニングするように構成されてよい。マスタECUは次に、車両の動作中に、任意の送信ECUを識別して認証を実行するように構成されてよい。本明細書で使用されるように「認証」とは、受信ECUによる送信ECUの識別の検証を意味する。
【0030】
他の実施形態において、システム内の各ECUは同様にECU300として構成されてよい。これらの実施形態において認証処理は複数のECUに亘って分散してよい。これらの他の実施形態において、各受信ECUは、その受信ECUに対してメッセージを送信するように構成された送信ECUごとに固有のシグネチャを決定するように構成されてよい。換言すれば、各ECUは1または複数の他のECUからメッセージを受信するように構成されてよい。他のECUはシステム内の全てのECUの少なくともサブセットに対応してよい。本明細書で説明されるように、これらの実施形態において各受信ECUは、次に、対応する送信ECUごとに分類子をトレーニングし、次に車両の動作中に送信ECUを認証するように構成されてよい。従って、本明細書で説明されるように、ECUのサブセットからメッセージを受信するように構成された受信ECUは、マスタECUにより構築された分類子の対応するサブセットを構築するように構成されてよい。
【0031】
プロセッサ回路302は機械可読命令を実行可能であり、例えばIntel(登録商標)Atomプロセッサ、インテル(登録商標)Quarkプロセッサ等の複数の可能なプロセッサのいずれかの形を取ってよい。メモリ回路304は、機械可読命令および/またはデータを記憶可能である。メモリ回路304は、揮発性および/または不揮発性メモリを含んでよい。例えば、メモリ回路304は、シグネチャデータ記憶装置309を含むように構成されてよい。
【0032】
送受信機回路318は概して、例えば他のECUに/からメッセージを送信/受信するように構成される。従って、送受信機回路318は、バス106により運ばれる電気信号を送信または受信するように構成された送信機または受信機を含んでよい。送受信機回路318により送信または受信されるメッセージは、電気信号、例えば1または複数の電圧の形態であってよい。受信メッセージ(例えばメッセージ105)は、インターフェース(例えばADC)回路316によりアナログの電圧からデジタルの形態に変換されてよい。電圧測定回路314は、インタフェース回路316から出力(すなわちデジタル値)をキャプチャし、受信メッセージの1または複数のビットに対応する1または複数の電圧を決定(すなわち測定)してよい。以下でさらに詳細に説明されるように、これらの測定電圧は、メッセージを送信したECUのシグネチャを形成、更新または検証するのに用いられ得る。
【0033】
以下は
図1および3が一緒に考慮される場合に最良に理解されるかも知れない。受信メッセージに少なくとも部分的に基づいて送信ECUを識別するべく、1または複数のECUに含まれる分類回路306は、教師あり学習の技術を用いてトレーニングされてよい。シグネチャ回路308は、トレーニングオペレーションを管理するように構成されてよい。トレーニングはCAN100内のECU102A、102B,…,102Nの動作中に生じるように構成される。例えば、初期段階の間(例えばエンジンスタートの直後、および/または、車両がウォーミングアップする間)に、および/または、危殆化したECUが存在しないと知られ得る環境において、特徴集合の値が決定され、分類子がトレーニングされてよい。従って、トレーニングは通常のオペレーションの間に生じうる。
【0034】
本明細書で説明されるように、教師あり学習の間の分類回路306への入力は、受信メッセージに対応する正規のECU IDと、シグネチャすなわち、1または複数の特徴の値を含む特徴集合とを含む。教師あり学習とECU認証をサポートするべく、各ECU ID(すなわち正規のECU ID)は1または複数のメッセ-ジIDに関連付られてIDマップ記憶装置307に記憶されてよい。換言すれば、メッセ-ジIDからECU IDへのマッピングは概してm対1であり、mはm≧1である。マスタECUを有する本実施形態において、CANネットワーク100に含まれるECU102A、102B,…,102Nのそれぞれの固有のECU IDは、1または複数の対応するメッセージIDに関連付られ、IDマップ記憶装置307へと記憶されてよい。受信ECUにメッセージを送信するように構成された各送信ECUを当該各受信ECUが識別するように構成された他の実施形態において、各ECUは、固有のIDマップ記憶装置307を含んでよい。固有の各IDマップ記憶装置307は次に、対応するメッセージ識別子に関連付けられた、1または複数の正規の送信ECUの識別子を記憶するように構成される。例えば、IDマッピング情報はルックアップテーブル(LUT)として記憶されてよい。この例の説明を続けると、シグネチャ回路308は、固有のマップ記憶装置307へのインデックスとしてメッセ-ジIDを用いることにより、受信メッセージに含まれるメッセ-ジIDに関連するECU IDを決定(すなわち正当にメッセージを送信しうるECUを識別)するように構成されてよい。IDマップ記憶装置307は、ECU300の動作に先だってマッピング情報でポピュレートされてよい。
【0035】
従って、メッセージを受信することに応答して、シグネチャ回路308および/またはACK閾値回路312は、受信メッセージのメッセ-ジIDをキャプチャし、次にキャプチャされたメッセージIDに関連付けられた正規のECUを識別するように構成されてよい。本明細書で説明されるように、ACK閾値回路312および特徴集合回路310は次に、特徴集合を決定するように構成されてよい。
【0036】
ACK閾値回路312は次に、ECUが送信する間に、複数のVCANH値および/またはVCANL値をキャプチャするように構成されてよい。電圧測定回路314はインタフェース回路316から例えばADC回路から、出力を受信し、対応する電圧を決定(すなわち測定)するように構成される。ACK閾値回路312は、0ビット、すなわちVCANH0およびVCANL0の受信の間に、複数のVCANH電圧および/またはVCANL電圧をキャプチャするように構成される。ACK閾値回路312は、キャプチャされた電圧値をシグネチャデータ記憶装置309に記憶するように構成される。
【0037】
ACK閾値回路312は次に、キャプチャされたVCANH電圧および/またはVCANL電圧に少なくとも部分的に基づいて1または複数のACK閾値電圧を決定するように構成されてよい。ACK閾値電圧値は、送信ECUが0ビットを送信する場合に受信ECUにより検出されるCANバス電圧値に関連付けられる。例えばACK閾値回路312は、VCANHに関連するハイACK閾値電圧値、VthH、および、VCANLに関連するローACK閾値電圧値、VthLを決定するように構成されてよい。0ビットは、受信ECUにより受信された送信メッセージに含まれる。
【0038】
ACK閾値回路312は、複数の0ビットを受信する間に多数のVCANH値および/またはVCANL値をキャプチャするように構成される。キャプチャされるバスライン電圧を0ビットに制限することは、VCANH値および/またはVCANL値をそれぞれ選択される電圧範囲に制限することにより達成されうる。選択される電圧範囲は、それぞれのプリセットリミットに少なくとも部分的に基づいて決定されてよい。
【0039】
それらが適切なプリセットリミット内である場合に、測定電圧はシグネチャデータ記憶装置309に記憶される。プリセットリミットはVCANHと、VCANLとで異なってよい。VCANHに関し、測定電圧がCANHのプリセットリミットより高い場合には、それらは記憶されうる。測定されたVCANL電圧がCANLのプリセットリミットより低い場合には、それらは記憶されうる。プリセットリミットは測定が行われる前に決定されてよく、0ビットに関連付けられたノミナルVCANH電圧およびノミナルVCANL電圧に関連してよい。
【0040】
例えば、0ビットに対するノミナル電圧がCANHについて3.5V、CANLについて1.5Vであり、1ビットに対するノミナル電圧が(VCANHおよびVCANLの両方について)2.5Vである場合に、それぞれのプリセットリミットは、各優勢電圧に、ノミナル電圧の間の差分(Vdiff)の約37.5%をそれぞれプラスまたはマイナスしたものに対応しうる。本明細書で用いられるように、「約」は±1パーセントを意味する。CANHに関しては、VCANHのノミナル値から当該割合を差し引くことによりリミットが決定される。CANLに関しては、VCANLのノミナル値に当該割合を加えることによりリミットが決定される。さらに明確化すると、上述の例において、CANHのプリセットリミットは、ノミナルCANH電圧(3.5V)からVdiffの37.5%を引いた値である。Vdiffは3.5V-1.5V=2Vであり、Vdiffの37.5%は0.375×2V=0.75である。従って、この例においてVCANHのプリセットリミットは3.5V-0.75V=2.75Vである。同様に、この例においてCANLのプリセットリミットは1.5V+0.75V=2.25Vである。従って、この例においてVCANH値は、それらが2.75Vより高い場合に記憶され、一方、VCANL値は、それらが2.25Vより低い場合に記憶される。
【0041】
ACK閾値電圧VthH,VthLは、0ビットの受信中に測定される受信電圧VCANHおよびVCANLの特性に関連する。例えば、複数のCANバスライン電圧(ハイまたはロウ)の測定は、電圧値(VCANHまたはVCANL)の分散をもたらし得る。分散はガウス確率分布関数に対応しうる。本明細書で説明されるように、ACK閾値電圧は次に、ACKバスライン電圧を除去するのに用いられてよい。
【0042】
従って、ACK閾値回路312は、メッセージの受信に応答して、対応するメッセージIDをキャプチャし、メッセ-ジIDに少なくとも部分的に基づいて正規の送信ECUを識別するように構成されてよい。ACK閾値回路312は、複数のN個の、CANH閾値電圧(すなわちプリセットリミット)より大きいCANH電圧と、CANL閾値電圧(すなわちプリセットリミット)より小さいCANL電圧とを、複数のメッセージの送信/受信の間にキャプチャするように構成される。例えば、3.5VのノミナルVCANHに関し、CANH閾値電圧は2.75Vであってよく、1.5VのノミナルVCANLに関し、CANL閾値電圧は2.25Vであってよい。
【0043】
キャプチャされたCANH電圧およびCANL電圧は、シグネチャデータ記憶装置309に記憶されてよい。ACK閾値回路312はさらに、N個のCANH電圧値およびCANL電圧値のそれぞれに対し、初期の最も頻繁なCANH電圧値(VfreqH1)および初期の最も頻繁なCANL電圧値(VfreqL1)を決定および記憶するように構成される。VfreqH1およびVfreqL1は、選択されたメッセージを正当に送信した対応ECUに対して決定されてよい。実施形態において、VfreqH1およびVfreqL1はそれぞれ固有の電圧値に許容誤差をプラスマイナスしたものに対応してよい。一例において、許容誤差は1パーセント(%)であってよい。別の例において、許容誤差は10%であってよい。それぞれの電圧値に電圧範囲を設定することは、とり得る無数の電圧値をキャプチャすることを回避するように構成される。許容誤差は、インタフェース回路316に含まれるADCと関連した有限の解像度および/または量子化を説明するように構成される。複数のK個のメッセージが受信されてよく、ACK閾値回路312によりVfreqH1およびVfreqL1のそれぞれの、対応する数(すなわちK個)の値が決定されてシグネチャデータ記憶装置309に記憶されてよい。
【0044】
ACK閾値回路312は次に、K個のVfreqH1値およびK個のVfreqL1値に対して統計分析を実行するように構成されてよい。実施形態において、ACK閾値回路312は各VfreqH1値のカウントと、各VfreqL1値のカウントとを決定するように構成されてよい。VfreqH1値と、対応するVfreqH1値のカウントは次に、VfreqH1値の確率分布に対応してよい。同様に、VfreqL1値と、対応するVfreqL1値のカウントはVfreqL1値の確率分布に対応してよい。
【0045】
各確率分布関数の平均および標準偏差が次に、例えばACK閾値回路312により決定されてよい。CANH ACK閾値電圧(VthH)およびCANL ACK閾値電圧(VthL)は次に、固有の確率分布関数に少なくとも部分的に基づいて決定されてよい。例えば、VthHは平均μHに対し、VfreqH1値の確率分布の標準偏差(σH)の整数倍を加えた数に対応してよく、VthLは平均μLから、VfreqL1値の確率分布の標準偏差(σL)の倍数である整数を引いた数に対応してよい。倍数の整数は1から5の範囲内でよい。例えば、倍数の整数は3に等しくてよい。CANH ACK閾値電圧(VthH)およびCANL ACK閾値電圧(VthL)は次に、シグネチャデータ記憶装置309に記憶され、かつ/または、特徴集合回路310に提供されてよい。いくつかの実施形態において、ACK閾値電圧は、対応するECU識別子に関連付られてシグネチャデータ記憶装置309に記憶されてよい。
【0046】
ACK閾値電圧VthH、VthLは、複数のECUによるACKビットの送信の認証処理の影響を低減するのに用いられてよい。換言すれば、ACK閾値電圧VthH、VthLは一の送信ECUに起因すると認めうるVCANH値およびVCANL値を限定するように構成される。従って、0ビットを送信する複数のECUにより生成されるVCANH値およびVCANL値をメッセージ内のACKスロットの間に含む確率は、低減されてよい。送信ECUのシグネチャ内にACK電圧を含む確率は、メッセージフレーム内のACKビットを明示的に識別することなく低減されてよい。
【0047】
特徴集合回路310は次に、ACK閾値電圧に少なくとも部分的に基づいて1または複数の特徴値を決定するように構成されてよい。特徴値は次に、対応するECU識別子に関連付られてシグネチャデータ記憶装置309に記憶されてよい。複数の特徴集合は、ECU IDごとにシグネチャデータ記憶装置309に記憶されてよい。複数の特徴集合および関連付けられたECU IDは次に、本明細書で説明されるように、機械学習手法を用いて分類子を形成するのに用いられてよい。
【0048】
特徴集合回路310は特徴集合のための特徴値の集合を決定するように構成される。特徴集合は、受信メッセージに対応する送信ECUを識別するべく、コントローラエリアネットワーク100の動作中に分類回路306により用いられるように構成される。特徴集合は複数のメッセージに含まれる複数の0ビットに少なくとも部分的に基づいて決定されるCANバス電圧、VCANHおよびVCANLに関連する1または複数の特徴を含んでよい。特徴集合は下記の表1に挙げられた1または複数の特徴を含んでよい。
【0049】
【表1】
表1においてVCANH maxおよびVCANL minは、メッセージの送信の間に受信ECUによりキャプチャされる最大のVCANH電圧および最小のVCANL電圧にそれぞれ対応する。ECU200(およびコントローラエリアネットワーク100)の動作中に、F4、F5、F6およびF7の特徴の移動平均が経時的に決定されてよい。F4、F5、F6およびF7の特徴の移動平均は測定ジッタを説明し、ひいては特徴値のスムージングを提供するように構成される。
【0050】
特徴集合回路310は、受信メッセージに対する固有のプリセットリミットの間となる複数のM個のCANH電圧およびCANL電圧のそれぞれをキャプチャするように構成される。プリセットリミットはノミナルバス電圧に関連し、ACK閾値電圧VthH、VthLを含む。例えば、3.5VのノミナルVCANHに関し、対応するCANH閾値電圧は2.75Vであってよい。従って、この例において、2.75Vより大きくVthHより小さいVCANH電圧はキャプチャされシグネチャデータ記憶装置309に記憶されてよい。別の例において、1.5VのノミナルVCANLに関し、対応するCANL閾値電圧は2.25Vであってよい。従って、この例において、2.25Vより小さくVthLより大きいCANL電圧はキャプチャされてシグネチャデータ記憶装置309に記憶されてよい。
【0051】
特徴集合回路310は、M個のキャプチャされたVCANH値に対し、動作中の最も頻繁なCANH電圧値(VfreqH2)を決定かつ記憶するように構成される。特徴集合回路310はさらに、M個のキャプチャされたVCANL値に対し、動作中の最も頻繁なCANL電圧値(VfreqL2)を決定かつ記憶するように構成される。VfreqH2およびVfreqL2を決定するのに用いられる、キャプチャされたCANH電圧およびCANL電圧が上限および下限の両方を有することは理解されよう。これは、初期の最も頻繁なCANH電圧値(VfreqH1)および初期の最も頻繁なCANL電圧値(VfreqL1)の決定とは異なる。本明細書で説明されたように、VfreqH1およびVfreqL1はそれぞれ、単一の固有の境界のみを用いて決定された。キャプチャされたVCANH値をVthHより小さい値に制限し、キャプチャされたVCANL値をVthLより大きい値に制限することは、ACKビットに対応するVCANHおよびVCANL電圧値を除去し得る。そのようなフィルタリングは、対応するシグネチャ(すなわち特徴集合内の特徴値)の特定性、ひいては認証精度を高め得る。
【0052】
特徴集合回路310は、キャプチャされたCANH電圧値およびCANL電圧値のうち最大CANH電圧値(VCANH max)および最小CANL電圧値(VCANL min)を識別(すなわち決定)および記憶するように構成される。VCANH maxおよびVCANL minは、本明細書で説明されるように、受信メッセージに対する固有のプリセットリミットの間となるように構成される。
【0053】
従って、特徴の値VfreqH2、VfreqL2、VCANH max、VCANL min、VthHおよびVthLは、受信メッセージ内の0ビットに関連付けられた電圧VCANHおよびVCANLに少なくとも部分的に基づいて決定されてよい。初期段階(例えばエンジンスタートの直後、および/または、車両のウォーミングアップ中)の間、および/または、危殆化したECUが無いと知られ得る環境において、特徴集合の値が決定されてよい。特徴集合の値は次に、対応するECU識別子に関連付られて、シグネチャデータ記憶装置309に記憶されてよい。特徴集合の値はECU300により、例えばマスタECUにより、および/または、それぞれのECUが返信するように構成されたメッセージの固有サブセットに対する各ECUにより、関連付られて記憶されてよい。動作中に、特徴集合の値は、送信ECUの識別のために、(トレーニングされた)分類回路306に提供されてよい。
【0054】
従って、特徴集合回路310は、表1で上述された特徴集合に含まれる1または複数の特徴の1または複数の値を決定するように構成されてよい。特徴集合の値は次に、対応するECU識別子に関連付られ、シグネチャデータ記憶装置309に記憶されてよい。特徴集合回路310は、ACKビットを送信する複数のECUに起因した電圧測定における「ノイズ」を低減および/または除去するべく、ACK閾値回路312により決定されたACK閾値、VthHおよびVthLを用いるように構成される。本明細書で説明されるように、特徴集合および関連するECU識別子は次に、分類子、例えば分類回路306をトレーニングするのに用いられてよい。
【0055】
シグネチャ回路308は分類回路306のトレーニングを管理するように構成されてよい。トレーニングは、例えば特徴集合の値と、対応するECU識別子との複数のセットを分類回路306に提供することと、分類回路306のパラメータを調整することとを含んでよい。分類回路306は、限定されないものの、サポートベクトル機械(SVM)、ランダムフォレスト、ロジスティック回帰等を含んでよい。シグネチャ回路308は、分類子を構築するのに十分な数の特徴集合が存在するか否かを決定するように構成されてよい。充分な数の特徴集合が存在しない場合には、次に特徴集合回路310は、追加の受信メッセージと対応するECU識別子とに関連付けられた追加の特徴集合の値を決定するように構成されてよい。充分な数の特徴集合が存在する場合には、次にシグネチャ回路308は、分類回路306のトレーニングを開始および/または継続するように構成されてよい。
【0056】
従って、初期段階(例えばエンジンスタートの直後および/または車両のウォーミングアップの間)の間、および/または、危殆化したECUが存在しないと知られうる環境において、1または複数のECUは複数のVCANH電圧および/またはVCANL電圧をキャプチャするように構成されてよい。1または複数のECUは次に、対象ECUのための特徴値の集合を決定し分類回路をトレーニングするべく、対象ECUのためのACK閾値電圧を決定するように構成されてよい。トレーニングは特徴値の集合をECU識別子に関連付けるように構成される。
【0057】
分類回路306は次に、特徴集合に少なくとも部分的に基づいて、送信ECUを識別するように構成されてよい。特徴集合は、メッセージの送信の間にキャプチャされるVCANH電圧および/またはVCANL電圧に少なくとも部分的に基づいて決定されてよい。例えば、分類回路306は、識別された送信ECUに対応する参照ECU IDをシグネチャ回路308に提供するように構成されてよい。シグネチャ回路308は次に、識別されたECUが受信メッセージを正当に送信し得るか否かを決定するように構成されてよい。例えば、シグネチャ回路308は、IDマップ記憶装置307において受信メッセージ識別子に関連付けられた正規のECU IDに参照ECU IDが一致するか否かを決定するように構成されてよい。例えば、送信されたメッセージが少なくともマスタECUにより受信されることに応答して、マスタECUは、受信メッセージに含まれるメッセ-ジIDに少なくとも部分的に基づいて、かつ、IDマップ記憶装置307に少なくとも部分的に基づいて、正規のECU IDを識別してよい。送信されたメッセージの受信の間に決定された、対応する特徴集合は次に、分類回路306に提供されてよい。分類回路は対応する参照ECU IDを出力するように構成されてよい。正規のECU IDおよび参照ECU IDが一致しない場合、次に送信ECUは危殆化しているかもしれない。
【0058】
従って、特徴集合回路310は、本明細書で説明されるように、受信されたVCANH0およびVCANL0(すなわち0ビット電圧)に少なくとも部分的に基づいて1または複数の特徴値を決定するように構成される。特徴集合回路310はさらに、本明細書で説明されるように、0ビットの間に測定されるVCANH0およびVCANL0の特性に少なくとも部分的に基づいてACK閾値電圧を調節するように構成されてよい。
【0059】
いくつかの実施形態において、特徴集合回路310はさらに、直近でキャプチャされたCANH電圧値およびCANL電圧値がそれらの固有のACK閾値電圧の外部、すなわちVCANH>VthHかつVCANL<VthLであることを示すそれぞれの確率PoutHおよびPoutLを決定するように構成されてよい。本明細書で用いられるように、「直近でキャプチャされ」とは、期間内でキャプチャされること、および/または、定義されたメッセージ数内でキャプチャされることに対応する。例えば、期間の持続時間は1秒から10秒の範囲内であってよい。別の例において、メッセージ数は10メッセージから20メッセージの範囲内であってよい。実施形態において、PoutHは、直近でキャプチャされVthHより大きいCANH電圧値の数を、直近でキャプチャされたCANH電圧値の数で割った数として決定されてよい。別の実施形態において、PoutLは、直近でキャプチャされVthLより小さいCANL電圧値の数を、直近でキャプチャされたCANL電圧値の数で割った数として決定されてよい。
【0060】
確率PoutHおよびPoutLは次に、ACK閾値電圧、VthHおよびVthLをそれぞれ調節する、すなわち適応学習を促進するのに用いられてよい。そのような調整は、例えば送信ECUの送受信機の出力電圧における経時的なドリフトに適応してよい。実施形態において、確率PoutHおよびPoutLのそれぞれの関数fpen(「ペナルティ関数」)はACK閾値電圧を調節するのに用いられてよい。例えば、fpenは、ACK閾値電圧の調整前に各確率の関数に係数(すなわち重み)を乗算することに対応してよい。係数は0.5から1の範囲内であってよい。別の例において、fpenは1.2に対応してよい。
【0061】
例えば、fpenは、期待される確率Pexpに対する各確率PoutHおよびPoutLそれぞれの比を用いてよい。このPexpは、例えば、送信メッセージの残りと比較したACK送信の(ビットの)サイズに基づいて決定されてよい。特徴集合回路310は、一のインターバル、例えば時間間隔、ビットシーケンス等での、通常(すなわち非ACK)ビットの数に対するACKビットの数の比を決定するように構成される。例えば、128ビットを有するメッセージフレームに関し、当該ビットの半分が0ビットであり、当該ビットの半分が1ビットである(すなわち1ビットおよび0ビットが同様に可能性が高い)と仮定すると、受信メッセージフレームにおける0ビットがACKビット(ACKビット=0)である確率は、1/(128/2)=1/64、すなわち約1.56%である。従って、この例において特徴値は整数、すなわち2%に丸められる。そのような状況において、2%より多い測定CANH電圧がVthHより大きい(すなわちPoutH/Pexp>1)の場合には、このことはVthHが低すぎることを示唆する。このことはシグネチャ分析に有用となるであろう「正規の」CANH電圧にACK信号として誤ったラベルを貼り、適宜破棄することをもたらしうる。ACK閾値電圧、VthH、VthLは次に、係数(例えば、0.5と1.0との間の値)と比(例えばPoutH/Pexp、PoutL/Pexp)との積をそれぞれ加える、または差し引くことにより調整されてよい。従って、ペナルティ関数fpenは、期待される確率に少なくとも部分的に基づき、かつ、測定された、すなわち直近で決定された確率に少なくとも部分的に基づいて、認証処理の精度を増大する適応的な学習と、ACK閾値電圧の調整とを可能にするのに有利である。特徴集合回路310は、fpenの結果(PoutH)をVthHに加えることによりハイACK閾値電圧VthHを調節するように構成されてよく、かつ/または、fpenの結果(PoutL)をVthLから差し引くことによりローACK閾値電圧VthLを調節するように構成されてよい。
【0062】
従って、特徴の値VfreqH2、VfreqL2、VCANH max、VCANL min、VthH(初期または調整)、VthL(初期または調整)は、受信メッセージ内の0ビットに関連付けられた電圧VCANHおよびVCANLに少なくとも部分的に基づいて決定されてよい。対応する特徴集合は次に、分類回路306に記憶、提供されてよく、かつ/または、分類回路306により取得されてよい。分類回路306は次に、特徴集合回路310により決定された特徴値に少なくとも部分的に基づいて参照ECU識別子を提供するように構成されてよい。
【0063】
シグネチャ回路308はさらに、分類回路306により提供された送信ECUの識別子が、受信メッセージを正当に送信しうるECUに対応するか否かを決定するように構成されてよい。例えば、シグネチャ回路310は、IDマップ記憶装置307において、キャプチャされたメッセージ識別子に関連付けられた正規のECU IDが分類回路306により提供される送信ECUの識別子(すなわち参照ECU ID)に対応(すなわち一致)するか否かを決定するように構成されてよい。正規のECU IDが参照ECU識別子に一致しない場合、次にシグネチャ回路308は可能性のある誤り(possible fault)を通知するように構成されてよい。
【0064】
従って、分類回路は教師ありの学習手法を用いてトレーニングされてよい。換言すれば、複数の特徴集合と、対応する正規のECU IDとの対は、分類回路をトレーニングするのに用いられてよい。オペレーションにおいて、特徴値の集合、すなわち特徴集合は分類回路に提供されてよく、分類回路は参照ECU IDを決定するように構成されてよい。正規のECU IDはキャプチャされたメッセージIDに少なくとも部分的に基づいて決定されてよい。参照ECU IDおよび正規のECU IDは次に、受信メッセージが送信ECUにより正当に送信されたか否かを決定するべく比較されてよい。
【0065】
従って、送信ECUは、受信メッセージに関連する電圧値、受信メッセージ識別子、および、対応する特徴値の集合に少なくとも部分的に基づいて識別されてよい。特徴値の集合は測定電圧値に少なくとも部分的に基づいて決定されてよい。送信ECUが受信メッセージを正当に送信し得るか否かが次に、例えば分類子からの参照ECU IDを、IDマップ記憶装置において受信メッセージIDに関連付けられた正規のECU IDと比較することにより決定されてよい。決定の結果は次に、送信ECUが危殆化しているか否かを示してよい。
【0066】
図4は、本明細書の少なくとも1つの実施形態に係る分類子構築を例示するオペレーションのフローチャート400である。特に、フローチャート400は、特徴値と、対応する送信ECUの識別子(すなわち正規のECU識別子)とのセットに少なくとも部分的に基づく分類子の構築を示す。オペレーションは、例えば
図3のシグネチャ回路308、特徴集合回路310、ACK閾値回路312、および/または、電圧測定回路314により実行されてよい。
【0067】
フローチャート400のオペレーションは、オペレーション402でメッセージを受信することで開始してよい。メッセージ識別子がオペレーション404でキャプチャされてよい。IDマップ記憶装置においてメッセージ識別子に関連付けられた正規のECU がオペレーション406で識別(すなわち決定)されてよい。特徴集合がオペレーション408で決定されてよい。例えば、オペレーション408は、以下でさらなる詳細が説明されるように、フローチャート500および/またはフローチャート600の1または複数のオペレーションを含んでよい。特徴集合はオペレーション410で、記憶されたECU識別子(すなわち正規のECU ID)と関連付られて記憶されてよい。
【0068】
分類子を構築するのに十分な特徴集合が存在するか否かがオペレーション412で決定されてよい。分類子を構築するのに十分な特徴集合が存在しない場合には、プログラムフローはオペレーション402に戻ってよい。分類子を構築するのに十分な特徴集合が存在する場合には、次に分類子はオペレーション414で構築されてよい。プログラムフローは次にオペレーション416で継続してよい。
【0069】
図5は、本明細書の少なくとも1つの実施形態に係るアクノリッジ(ACK)閾値電圧の決定を例示するオペレーションのフローチャート500である。特に、フローチャート500は、受信メッセージに含まれる0ビットに関連する統計に少なくとも部分的に基づくACK閾値電圧の決定を示す。オペレーションは例えば
図3のACK閾値回路312により実行されてよい。
【0070】
フローチャート500のオペレーションは、オペレーション501でメッセージを受信することで開始してよい。メッセ-ジIDがオペレーション502でキャプチャされてよい。メッセ-ジIDに関連付けられたECU、すなわち正規のECUがオペレーション503で識別されてよい。複数の、N個のCANH電圧およびCANL電圧がオペレーション504でN個の0ビットの間にキャプチャされてよい。例えば、高いプリセットリミットより大きいVCANHと、低いプリセットリミットより小さいVCANLがキャプチャされてよい。初期の最も頻繁なCANHハイバスライン電圧値と、初期の最も頻繁なCANLローバスライン電圧値は、それぞれオペレーション506でVfreqH1およびVfreqL1として決定されて記憶されてよい。反復回数がKと等しいかKより大きいか否かがオペレーション508で決定されてよい。
【0071】
反復回数がKに等しくないか、Kより大きくない場合には、次にプログラムフローはオペレーション501に戻ってよい。反復回数がKに等しいか、Kより大きい場合には、次に1または複数の統計値がオペレーション510で決定され記憶されてよい。統計値は例えば、VfreqH1およびVfreqL1の各分散の平均と標準偏差とを含んでよい。ACK閾値電圧VthLおよびVthHがオペレーション512で決定されてよい。ACK閾値電圧VthLおよびVthHがオペレーション514で記憶および/または出力されてよい。プログラムフローは次に、オペレーション516で継続してよい。
【0072】
図6は、本明細書の少なくとも1つの実施形態に係る特徴集合の特徴値の決定を例示するオペレーションのフローチャート600である。特に、フローチャート600はCANH電圧およびCANL電圧(例えばVCANHおよびVCANL)に少なくとも部分的に基づく、かつ、ACK閾値電圧VthLおよびVthHに少なくとも部分的に基づく、特徴集合の特徴値の生成を示す。フローチャート600のオペレーションは例えば
図3の特徴集合回路310により実行されてよい。
【0073】
フローチャート600のオペレーションは、オペレーション602でACK閾値電圧VthHおよびVthLを受信または取得することで開始してよい。それぞれプリセットリミットの間となる複数の、M個のCANH電圧およびCANL電圧がオペレーション604でキャプチャされてよい。例えば、高いプリセットリミットより大きくVthHより小さいVCANHがキャプチャされてよく、かつ/または、低いプリセットリミットより小さくVthLより大きいVCANLがキャプチャされてよい。オペレーション606で、最も頻繁なCANH電圧およびCANL電圧の値がそれぞれVfreqH2およびVfreqL2として決定および記憶されてよい。オペレーション607で最大のVCANH電圧、VCANH max、および、最小のVCANL電圧、VCANL minが決定されてよい。いくつかの実施形態において、オペレーション608で、直近でキャプチャされたCANH電圧値および/またはCANL電圧値がそれぞれACK閾値電圧の外部である確率PoutHおよびPoutLがそれぞれ決定されてよい。オペレーション610で、ACK閾値電圧VthHおよびVthLが当該確率に少なくとも部分的に基づいて調整されてよい。オペレーション612で特徴集合が構築されてよい。いくつかの実施形態において、オペレーション614で特徴集合が調整されてよい。例えば、オペレーション614は新しい特徴の構築と、特徴集合への追加とを含んでよい。例えば、1または複数の特徴の移動平均が生成されて特徴集合に加えられてよい。特徴集合はオペレーション616で出力されてよい。プログラムフローは次にオペレーション618で継続してよい。
【0074】
図7は、本明細書の少なくとも1つの実施形態に係る受信メッセージの認証を例示するオペレーションのフローチャート700である。特に、フローチャート700は、受信メッセージのシグネチャに少なくとも部分的に基づく送信ECUの識別と、識別されたECUが受信メッセージを正当に送信し得るか否かの決定とを示す。フローチャート700のオペレーションは、例えば
図3のシグネチャ回路308、電圧測定回路314、特徴集合回路310、および/または、分類回路306により実行されてよい。
【0075】
フローチャート700のオペレーションは、オペレーション702でメッセージを受信することで開始してよい。オペレーション704で特徴値が決定されてよい。例えば、オペレーション704は、
図6のオペレーション602、604、606、607、612および616を含んでよい。オペレーション706で特徴値が分類子、例えば分類回路306に提供されてよい。オペレーション708で送信ECUが識別されてよい。例えば、送信ECUに対応する参照ECU識別子が決定されてよい。オペレーション710で、識別された送信ECUにより受信メッセージが正当に送信されたか否かが決定されてよい。例えば、識別された送信ECUにより受信メッセージが正当に送信されたか否かの決定は、受信メッセージIDに関連付けられた正規のECU識別子に参照ECU識別子が一致するか否かを決定することを含んでよい。正規のECU識別子は、受信メッセージに含まれるメッセージ識別子に少なくとも部分的に基づいて決定されてよい。
【0076】
識別された送信ECUにより受信メッセージが正当に送信されている(すなわちメッセージが認証されている)場合には、次にプログラムフローはオペレーション714で継続してよい。識別された送信ECUにより受信メッセージが正当に送信されていない場合には、次に可能性のある誤りがオペレーション716で通知されてよい。プログラムフローは次に、オペレーション718で継続してよい。
【0077】
図4から
図7のフローチャートは様々な実施形態に係るオペレーションを示しているが、
図4から
図7に示されたオペレーションの全てが他の実施形態に必要ではないことは理解されるべきである。さらに、本開示の他の実施形態において
図4、5、6および/または7に示されるオペレーション、および/または、本明細書で説明される他のオペレーションがいずれの図面内でも具体的に示されていない態様で組み合わせられてもよく、そのような実施形態は
図4から
図7に示されたものより少ない、または多いオペレーションを含んでよいことは本明細書で完全に企図される。従って、一の図面に厳密には示されていない特徴および/またはオペレーションに向けた請求項は、本開示の範囲およびコンテンツ内とみなされる。
【0078】
いくつかの実施形態において、バス106および/またはECU102A、102B…102N、および/または300(例えば送受信機回路318)は、1または複数のバスプロトコルに準拠し、かつ/または、1または複数のバスプロトコルと互換性を有してよい。一例において、バス106および/またはECU102A、102B…,102Nおよび/または300(例えば送受信機回路318)は、1または複数CANバスプロトコルおよび/または、標準化のための国際機構(ISO)の規格の11898ファミリーを含む規格に準拠し、かつ/または、これと互換性を有してよい。この企画は「Road Vehicles-Controller Area Network(CAN)」と名付けられ、限定されないが、「Road vehicles-Controller area network (CAN)-Part 1: Data link layer and physical signaling」と名付けられ、2015年12月15日に発行されたISO11898-1.2015、および/または、この規格のより早いバージョン、および/または、より遅いバージョン、および/または、関連するバージョン、たとえばISO 11898-2:2016、ISO 11898-3:2006、ISO 11898-4:2004、ISO 11898-5:2007、ISO 11898-6:2013のうちの1または複数を含む。別の例において、バス106および/またはECU102A、102B…,102Nおよび/または300(例えば送受信機回路318)は、Society of Automotive Engineers(SAE)の「Class B Data Communications Network Interface」と名付けられ2015年10月14日に発行されたInternational surface vehicle data communication standard J1850_201510、および/または、この規格のより早いバージョン、および/または、より遅いバージョン、および/または関連するバージョンに準拠し、かつ/または、これと互換性を有してよい。
【0079】
メモリ回路304は、半導体ファームウェアメモリ、プログラミング可能なメモリ、不揮発性メモリ、リードオンリメモリ、電気的プログラミング可能なメモリ、ランダムアクセスメモリ、フラッシュメモリ、磁気ディスクメモリ、および/または、光ディスクメモリの複数のタイプのメモリのうちの1または複数を含んでよい。さらに、追加の、あるいは、代替のシステムメモリは他の、および/または、後に開発された、複数のタイプのコンピュータ可読記憶デバイスを含んでよい。
【0080】
本明細書で説明されたオペレーションの実施形態は、1または複数のプロセッサにより実行された場合にオペレーションを実行する複数の命令を個々にまたは組み合わせで記憶した少なくとも1つの有形のコンピュータ可読記憶デバイスを有するシステムに実装されてよい。1または複数のプロセッサは例えば、プロセッシングユニット、および/またはプログラマブル回路を含んでよい。つまり、本明細書に記載された複数の方法に係る複数の動作は、いくつかの異なる物理的位置にある複数の処理構造のような複数の物理的デバイスに分散されてもよいことが意図される。記憶デバイスは、任意のタイプの有形の非一時的な記憶デバイス、例えば、任意のタイプのディスクを含んでもよく、これらは、フロッピディスク、光ディスク、コンパクトディスクリードオンリメモリ(CD-ROM)、コンパクトディスクリライタブル(CD-RW)及び磁気光ディスク、リードオンリメモリのような半導体デバイス(ROM)、動的または静的RAMのようなランダムアクセスメモリ(RAM)、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリ、磁気または光カード、または電子的な複数の命令の格納に適した任意のタイプの記憶デバイスを含む。
【0081】
本明細書の任意の実施形態で用いられるように、「論理」の用語は前述のオペレーションのいずれかを実行するように構成されたファームウェアおよび/または回路を指してよい。ファームウェアはコード、命令、または命令セット、および/または、メモリデバイスおよび/または回路にハードコードされた(例えば不揮発性)データとして実装されてよい。
【0082】
「回路」は、本明細書の任意の実施形態で用いられるように、例えば、単一でまたは任意の組み合わせで、ハードワイヤード回路、プログラマブル回路、ステート機械回路、ロジック及び/またはプログラマブル回路によって実行される複数の命令を格納するファームウェアを備えてもよい。回路は、集積回路チップのような集積回路として具現化されてもよい。いくつかの実施形態において、回路は、本明細書で説明した機能に対応するコードおよび/または命令セット(例えばソフトウェア、ファームウェア等)を実行し、ひいては、本明細書で説明される1または複数のオペレーションを実行するべく汎用プロセッサを専用プロセッシング環境に変換するプロセッサ回路302により少なくとも部分的に形成されてよい。いくつかの実施形態において、プロセッサ回路302はスタンドアロンの集積回路として実装されてよく、または、集積回路上のいくつかのコンポーネントの1つとして組み込まれてよい。いくつかの実施形態において、ECU300または他のシステムの様々なコンポーネントおよび回路は、システムオンチップ(SoC)アーキテクチャにおいて組み合わせられてよい。
【0083】
いくつかの実施形態において、ハードウェア記述言語(HDL)が、本明細書で説明される様々な回路のための回路および/またはロジックの実装を指定するのに用いられてよい。例えば、一実施形態では、ハードウェア記述言語は、本明細書で説明する1つ以上の回路及び/又はロジックの半導体製造を可能にすることができる、超高速集積回路(VHSIC)ハードウェア記述言語(VHDL)に準拠することができる又は互換性をもつことができる。VHDLは、IEEE標準1076-1987、IEEE標準1076.2、IEEE1076.1、VHDL-2006のIEEEドラフト3.0、VHDL-2008のIEEEドラフト4.0、及び/若しくはIEEE VHDL標準の他のバージョン、並びに/又は他のハードウェア記述標準に準拠する場合がある又は互換性をもつ場合がある。
【0084】
いくつかの実施形態において、Verilogのハードウェア記述言語(HDL)が、本明細書で説明される様々なロジックおよび/または回路のための回路および/またはロジックの実装を指定するのに用いられてよい。例えば、一実施形態においてHDLはIEEE規格62530-2011、2011年7月7日付のSystemVerilog-Unified Hardware Design,Specification,and Verification Language、IEEE Std 1800TM-2012、2013年2月21に公開されたSystemVerilog-Unified Hardware Design,Specification,and Verification Language、IEEE規格1364-2005、2006年4月18日付のIEEE Standard for Verilog Hardware Description Language、および/または、Verilog HDLおよび/またはSystemVerilog standardsの他のバージョンに準拠するか、これと互換性を有してよい。
【0085】
例本開示の例は、以下で説明するように、電子機器のためのセキュリティシステムに関連した方法、方法の動作を実行する手段、デバイス、または装置若しくはシステムなどの発明の主題を含む。
【0086】
例1。この例によれば、車両のための電子制御ユニット(ECU)が提供される。ECUは送受信機回路、電圧測定回路および特徴集合回路を備える。送受信機回路はメッセージの送信および受信のうちの少なくとも1つを行う。電圧測定回路は、受信メッセージの少なくとも0ビットのうちの0ビットそれぞれについて、ハイバスライン電圧(VCANH)値、および/またはローバスライン電圧(VCANL)値のうちの少なくとも1つを決定する。受信メッセージは複数のビットを有する。特徴集合回路は、ハイアクノリッジ(ACK)閾値電圧(VthH)および/またはローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて特徴集合の少なくとも1つの特徴の値を決定する。特徴集合は、いくつかのVCANH値のうち動作中に最も頻繁に測定されたVCANH値(VfreqH2)、および/または、いくつかのVCANL値のうち動作中に最も頻繁に測定されたVCANL値(VfreqL2)のうちの少なくとも1つを含む。
【0087】
例2。この例は例1の要素を備え、さらに、VthHおよび/またはVthLのうちの少なくとも1つを決定するACK閾値回路を備え、VthHは初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、VthLは初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される。
【0088】
例3。この例は例1の要素を備え、受信メッセージを送信した送信ECUを特徴値の集合に少なくとも部分的に基づいて識別する分類回路をさらに備える。
【0089】
例4。この例は例3の要素を備え、識別された送信ECUにより受信メッセージが正当に送信されたか否かを決定するシグネチャ回路をさらに備える。
【0090】
例5。この例は例1から3のいずれか1つに係る要素を備え、特徴集合はVthHおよび/またはVthLを有し、VthHはハイACK閾値電圧の初期値またはハイACK閾値電圧の調整値に対応し、VthLはローACK閾値電圧の初期値またはローACK閾値電圧の調整値に対応する。
【0091】
例6。この例は例1から3のいずれか1つに係る要素を備え、特徴集合回路は、直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および/または、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つをさらに決定する。
【0092】
例7。この例は例1から3のいずれか1つに係る要素を備え、特徴集合は最大の測定VCANH値(VCANH max)および/または最小の測定VCANL値(VCANL min)の1または複数をさらに有する。
【0093】
例8。この例は例1から3のいずれか1つに係る要素を備え、特徴集合はVfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均をさらに有する。
【0094】
例9。この例は例6の要素を備え、特徴集合回路はPoutHに少なくとも部分的に基づくVthHに調節、および/または、PoutLに少なくとも部分的に基づくVthLの調節のうちの少なくとも1つをさらに行う。
【0095】
例10。この例は例1から3のいずれか1つに係る要素を備え、複数の正規ECU識別子(ID)および複数のメッセージIDを記憶する識別子マップ記憶装置をさらに備え、各正規のECU IDは複数のメッセージIDの固有サブセットに関連付けられる。
【0096】
例11。この例によれば、セキュリティ方法が提供される。方法は、車両の電子制御ユニット(ECU)の送受信機回路によりメッセージの送信および/または受信のうちの少なくとも1つを行う段階を備える。方法は、受信メッセージの少なくとも1つの0ビットのうちの0ビットそれぞれについて、ハイバスライン電圧(VCANH)値および/またはローバスライン電圧(VCANL)値のうちの少なくとも1つをECUの電圧測定回路により決定する段階をさらに備える。受信メッセージは複数のビットを有する。当該方法は、ECUの特徴集合回路によりハイアクノリッジ(ACK)閾値電圧(VthH)および/またはローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて特徴集合の少なくとも1つの特徴の値を決定する段階をさらに備える。特徴集合は、いくつかのVCANH値のうち動作中に最も頻繁に測定されたハイバスライン電圧値(VfreqH2)、および/または、いくつかのVCANL値のうち動作中に最も頻繁に測定されたVCANL値(VfreqL2)のうちの少なくとも1つを含む。
【0097】
例12。この例は例11の要素を備え、さらに、VthHおよび/またはVthLのうちの少なくとも1つをECUのACK閾値回路により決定する段階を備え、VthHは初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、VthLは初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される。
【0098】
例13。この例は例11の要素を備え、受信メッセージを送信した送信ECUを特徴値の集合に少なくとも部分的に基づいてECUの分類回路により識別する段階をさらに備える。
【0099】
例14。この例は例13の要素を備え、識別された送信ECUにより受信メッセージが正当に送信されたか否かをECUのシグネチャ回路により決定する段階をさらに備える。
【0100】
例15。この例は例11の要素を備え、特徴集合はVthHおよび/またはVthLを有し、VthHはハイACK閾値電圧の初期値またはハイACK閾値電圧の調整値に対応し、VthLはローACK閾値電圧の初期値またはローACK閾値電圧の調整値に対応する。
【0101】
例16。この例は例11の要素を備え、直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および/または、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つを特徴集合回路により決定する段階をさらに備える。
【0102】
例17。この例は例11の要素を備え、特徴集合は最大の測定VCANH値(VCANH max)および/または最小の測定VCANL値(VCANL min)の1または複数をさらに有する。
【0103】
例18。この例は例11の要素を備え、特徴集合はVfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均をさらに有する。
【0104】
例19。この例は例16の要素を備え、PoutHに少なくとも部分的に基づくVthHの調整、および/または、PoutLに少なくとも部分的に基づくVthLの調整のうちの少なくとも1つを特徴集合回路によりさらに行う段階を備える。
【0105】
例20。この例は例11の要素を備え、複数の正規ECU識別子(ID)および複数のメッセージIDを識別子マップ記憶装置により記憶する段階をさらに備え、各正規のECU IDは複数のメッセージIDの固有サブセットに関連付けられる。
【0106】
例21。この例は例11の要素を備え、通信バスにより複数のECUを結合する段階をさらに備える。
【0107】
例22。この例は例21の要素を備え、通信バスはコントローラエリアネットワーク(CAN)バスプロトコルに準拠し、かつ/または、これと互換性を有する。
【0108】
例23。この例によれば、車両システムが提供される。車両システムは複数の電子制御ユニット(ECU)と、複数のECUを結合する通信バスとを備える。各ECUは、メッセージの送信および/または受信のうちの少なくとも1つを行う送受信機回路を備える。少なくとも1つのECUは、電圧測定回路および特徴集合回路を備える。電圧測定回路は、受信メッセージの少なくとも0ビットのうちの0ビットそれぞれについて、ハイバスライン電圧(VCANH)値、および/またはローバスライン電圧(VCANL)値のうちの少なくとも1つを決定する。受信メッセージは複数のビットを有する。特徴集合回路は、ハイアクノリッジ(ACK)閾値電圧(VthH)および/またはローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて特徴集合の少なくとも1つの特徴の値を決定する。特徴集合は、いくつかのVCANH値のうち動作中に最も頻繁に測定されたVCANH値(VfreqH2)、および/または、いくつかのVCANL値のうち動作中に最も頻繁に測定されたVCANL値(VfreqL2)のうちの少なくとも1つを含む。
【0109】
例24。この例は例23の要素を備え、少なくとも1つのECUはさらに、VthHおよび/またはVthLのうちの少なくとも1つを決定するACK閾値回路を備え、VthHは初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、VthLは初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される。
【0110】
例25。この例は例23の要素を備え、少なくとも1つのECUは、受信メッセージを送信した送信ECUを特徴値の集合に少なくとも部分的に基づいて識別する分類回路をさらに備える。
【0111】
例26。この例は例25の要素を備え、少なくとも1つのECUは、識別された送信ECUにより受信メッセージが正当に送信されたか否かを決定するシグネチャ回路をさらに備える。
【0112】
例27。この例は例23から25のいずれか1つに係る要素を備え、特徴集合はVthHおよび/またはVthLを有し、VthHはハイACK閾値電圧の初期値またはハイACK閾値電圧の調整値に対応し、VthLはローACK閾値電圧の初期値またはローACK閾値電圧の調整値に対応する。
【0113】
例28。この例は例23から25のいずれか1つに係る要素を備え、特徴集合回路は、直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および/または、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つをさらに決定する。
【0114】
例29。この例は例23から25のいずれか1つに係る要素を備え、特徴集合は最大の測定VCANH値(VCANH max)および/または最小の測定VCANL値(VCANL min)の1または複数をさらに有する。
【0115】
例30。この例は例23から25のいずれか1つに係る要素を備え、特徴集合はVfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均をさらに有する。
【0116】
例31。この例は例28の要素を備え、特徴集合回路はPoutHに少なくとも部分的に基づくVthHに調節、および/または、PoutLに少なくとも部分的に基づくVthLの調節のうちの少なくとも1つをさらに行う。
【0117】
例32。この例は例23から25のいずれか1つに係る要素を備え、少なくとも1つのECUは、複数の正規ECU識別子(ID)および複数のメッセージIDを記憶する識別子マップ記憶装置をさらに備え、各正規のECU IDは複数のメッセージIDの固有サブセットに関連付けられる。
【0118】
例33。この例は例23から25のいずれか1つに係る要素を備え、通信バスはコントローラエリアネットワーク(CAN)バスプロトコルに準拠し、かつ/または、これと互換性を有する。
【0119】
例34。この例によれば、コンピュータ可読記憶デバイスが提供される。コンピュータ可読記憶デバイスは、1または複数のプロセッサにより実行された場合にメッセージの送信および/または受信のうちの少なくとも1つを行うこと、受信メッセージの少なくとも1つの0ビットのうちの0ビットそれぞれについてハイバスライン電圧(VCANH)値および/またはローバスライン電圧(VCANL)値のうちの少なくとも1つを決定することであって、受信メッセージは複数のビットを含むことと、ハイアクノリッジ(ACK)閾値電圧(VthH)および/またはローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて特徴集合の少なくとも1つの特徴の値を決定することであって、特徴集合はいくつかのVCANH値のうち動作中に最も頻繁に測定されたハイバスライン電圧値(VfreqH2)および/またはいくつかのVCANL値のうち動作中に最も頻繁に測定されたVCANL値(VfreqL2)のうちの少なくとも1つを有すること、の動作をもたらす命令を記憶している。
【0120】
例35。この例は例34の要素を備え、命令は1または複数のプロセッサにより実行された場合に、VthHおよび/またはVthLのうちの少なくとも1つを決定することを含み、VthHは初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、VthLは初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される、追加のオペレーションをもたらす。
【0121】
例36。この例は例34の要素を備え、命令は1または複数のプロセッサにより実行された場合に、受信メッセージを送信した送信ECUを特徴値の集合に少なくとも部分的に基づいて識別することを含む追加のオペレーションをもたらす。
【0122】
例37。この例は例36の要素を備え、命令は1または複数のプロセッサにより実行された場合に、識別された送信ECUにより受信メッセージが正当に送信されたか否かを決定することを含む追加のオペレーションをもたらす。
【0123】
例38。この例は例34から36のいずれか1つに係る要素を備え、特徴集合はVthHおよび/またはVthLを有し、VthHはハイACK閾値電圧の初期値またはハイACK閾値電圧の調整値に対応し、VthLはローACK閾値電圧の初期値またはローACK閾値電圧の調整値に対応する。
【0124】
例39。この例は例34から36のいずれか1つに係る要素を備え、命令は1または複数のプロセッサにより実行された場合に、直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および/または、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つを特徴集合回路により決定することを含む追加のオペレーションをもたらす。
【0125】
例40。この例は例34から36のいずれか1つに係る要素を備え、特徴集合は最大の測定VCANH値(VCANH max)および/または最小の測定VCANL値(VCANL min)の1または複数をさらに有する。
【0126】
例41。この例は例34から36のいずれか1つに係る要素を備え、特徴集合はVfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均をさらに有する。
【0127】
例42。この例は例34から36のいずれか1つに係る要素を備え、命令は1または複数のプロセッサにより実行された場合にPoutHに少なくとも部分的に基づくVthHの調整、および/または、PoutLに少なくとも部分的に基づくVthLの調整のうちの少なくとも1つを行うことを含む追加のオペレーションをもたらす。
【0128】
例43。この例は例34から36のいずれか1つに係る要素を備え、命令は1または複数のプロセッサにより実行された場合に、複数の正規ECU識別子(ID)および複数のメッセージIDを記憶することを含む追加のオペレーションをもたらし、各正規のECU IDは複数のメッセージIDの固有サブセットと関連付けられる。
【0129】
例44。この例によれば、セキュリティデバイスが提供される。デバイスは、車両の電子制御ユニット(ECU)の送受信機回路によりメッセージを送信する手段および/または受信する手段のうちの少なくとも1つを備える。デバイスはさらに、受信メッセージの少なくとも1つの0ビットのうちの0ビットそれぞれについてハイバスライン電圧(VCANH)値および/またはローバスライン電圧(VCANL)値のうちの少なくとも1つをECUの電圧測定回路により決定する手段を備え、受信メッセージは複数のビットを有する。デバイスはさらにハイアクノリッジ(ACK)閾値電圧(VthH)および/またはローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて特徴集合の少なくとも1つの特徴の値をECUの特徴集合回路により決定する手段を備え、特徴集合はいくつかのVCANH値のうち動作中に最も頻繁に測定されたハイバスライン電圧値(VfreqH2)および/またはいくつかのVCANL値のうち動作中に最も頻繁に測定されたVCANL値(VfreqL2)のうちの少なくとも1つを含む。
【0130】
例45。この例は例44の要素を備え、VthHおよび/またはVthLのうちの少なくとも1つをECUのACK閾値回路により決定手段をさらに備え、VthHは初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、VthLは初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される。
【0131】
例46。この例は例44の要素を備え、受信メッセージを送信した送信ECUを特徴値の集合に少なくとも部分的に基づいてECUの分類回路により識別する手段をさらに備える。
【0132】
例47。この例は例46の要素を備え、識別された送信ECUにより受信メッセージが正当に送信されたか否かをECUのシグネチャ回路により決定する手段をさらに備える。
【0133】
例48。この例は例44から46のいずれか1つに係る要素を備え、特徴集合はVthHおよび/またはVthLを有し、VthHはハイACK閾値電圧の初期値またはハイACK閾値電圧の調整値に対応し、VthLはローACK閾値電圧の初期値またはローACK閾値電圧の調整値に対応する。
【0134】
例49。この例は例44から46のいずれか1つに係る要素を備え、直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および/または、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つを特徴集合回路により決定する手段をさらに備える。
【0135】
例50。この例は例44から46のいずれか1つに係る要素を備え、特徴集合は最大の測定VCANH値(VCANH max)および/または最小の測定VCANL値(VCANL min)の1または複数をさらに有する。
【0136】
例51。この例は例44から46のいずれか1つに係る要素を備え、特徴集合はVfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均をさらに有する。
【0137】
例52。この例は例49の要素を備え、PoutHに少なくとも部分的に基づくVthHの調整および/またはPoutLに少なくとも部分的に基づくVthLの調整のうちの少なくとも1つを特徴集合回路により行う手段をさらに備える。
【0138】
例53。この例は例44から46に係る要素を備え、複数の正規ECU識別子(ID)および複数のメッセージIDを識別子マップ記憶装置により記憶する手段をさらに備え、各正規のECU IDは複数のメッセージIDの固有サブセットに関連付られる。
【0139】
例54。この例は例44から46に係る要素を備え、通信バスにより複数のECUを結合する手段をさらに備える。
【0140】
例55。この例は例54の要素を備え、通信バスはコントローラエリアネットワーク(CAN)バスプロトコルに準拠し、かつ/または、これと互換性を有する。
【0141】
例56。この例によれば、セキュリティシステムが提供される。システムは例11から22のうちのいずれか1つに記載の方法を実行するよう構成された少なくとも1つのデバイスを備える。
【0142】
例57。この例によれば、セキュリティデバイスが提供される。デバイスは例11から22のうちのいずれか1つに記載の方法を実行する手段を備える。
【0143】
例58。この実施例によればコンピュータ可読記憶デバイスが提供される。デバイスは1または複数のプロセッサにより実行された場合に例11から22のいずれか1項に記載の方法を含むオペレーションをもたらす命令を記憶する。
(項目1)
車両の電子制御ユニット(ECU)であって、
上記ECUは、
メッセージの送信および受信のうちの少なくとも1つを行う送受信機回路と、
受信メッセージの少なくとも1つの0ビットのうちの0ビットそれぞれについて、ハイバスライン電圧(VCANH)値およびローバスライン電圧(VCANL)値のうちの少なくとも1つを決定する電圧測定回路であって、上記受信メッセージは複数のビットを有する、電圧測定回路と、
ハイアクノリッジ(ACK)閾値電圧(VthH)およびローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて特徴集合の少なくとも1つの特徴の値を決定する特徴集合回路とを備え、
上記特徴集合は、いくつかのVCANH値のうち最も頻繁に測定された動作中のVCANH値(VfreqH2)、および、いくつかのVCANL値のうち最も頻繁に測定された動作中のVCANL値(VfreqL2)のうちの少なくとも1つを有する、ECU。
(項目2)
上記VthHおよび上記VthLのうちの少なくとも1つを決定するACK閾値回路をさらに備え、
上記VthHは初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、上記VthLは初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される、項目1に記載のECU。
(項目3)
上記特徴集合に少なくとも部分的に基づいて上記受信メッセージを送信した送信ECUを識別する分類回路をさらに備える、項目1に記載のECU。
(項目4)
識別された上記送信ECUにより上記受信メッセージが正当に送信されたか否かを決定するシグネチャ回路をさらに備える、項目3に記載のECU。
(項目5)
上記特徴集合はVthHおよび/またはVthLを有し、
VthHは上記ハイACK閾値電圧の初期値または上記ハイACK閾値電圧の調整値に対応し、VthLは上記ローACK閾値電圧の初期値または上記ローACK閾値電圧の調整値に対応する、項目1から3のいずれか一項に記載のECU。
(項目6)
上記特徴集合回路はさらに、直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つを決定する、項目1から3のいずれか一項に記載のECU。
(項目7)
上記特徴集合はさらに、VfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均を有する、項目1から3のいずれか一項に記載のECU。
(項目8)
車両の電子制御ユニット(ECU)の送受信機回路によりメッセージの送信および受信のうちの少なくとも1つを行う段階と、
受信メッセージの少なくとも1つの0ビットのうちの0ビットそれぞれについて、上記ECUの電圧測定回路によりハイバスライン電圧(VCANH)値およびローバスライン電圧(VCANL)値のうちの少なくとも1つを決定する段階であって、上記受信メッセージは複数のビットを有する、段階と、
ハイアクノリッジ(ACK)閾値電圧(VthH)およびローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて、上記ECUの特徴集合回路により特徴集合の少なくとも1つの特徴の値を決定する段階と、
を備え、
上記特徴集合は、いくつかのVCANH値のうち動作中に最も頻繁に測定されたVCANH値(VfreqH2)、および、いくつかのVCANL値のうち動作中に最も頻繁に測定されたVCANL値(VfreqL2)のうちの少なくとも1つを有する、セキュリティ方法。
(項目9)
上記VthHおよび上記VthLのうちの少なくとも1つを上記ECUのACK閾値回路により決定する段階をさらに備え、
上記VthHは、初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、
上記VthLは、初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される、項目8に記載の方法。
(項目10)
上記特徴集合に少なくとも部分的に基づいて、上記受信メッセージを送信した送信ECUを、上記ECUの分類回路により識別する段階をさらに備える、項目8に記載の方法。
(項目11)
識別された上記送信ECUにより上記受信メッセージが正当に送信されたか否かを、上記ECUのシグネチャ回路により決定する段階をさらに備える、項目10に記載の方法。
(項目12)
上記特徴集合は、VthHおよび/またはVthLを有し、
VthHは上記ハイACK閾値電圧の初期値または上記ハイACK閾値電圧の調整値に対応し、
VthLは上記ローACK閾値電圧の初期値または上記ローACK閾値電圧の調整値に対応する、項目8に記載の方法。
(項目13)
直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つを上記特徴集合回路により決定する段階をさらに備える、項目8に記載の方法。
(項目14)
上記特徴集合は、VfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均をさらに有する、項目8に記載の方法。
(項目15)
複数の電子制御ユニット(ECU)と、
上記複数のECUを結合する通信バスと、
を備え、
各ECUは、メッセージの送信および受信のうちの少なくとも1つを行う送受信機回路を有し、
少なくとも1つのECUは、
受信メッセージの少なくとも1つの0ビットのうちの0ビットそれぞれについて、ハイバスライン電圧(VCANH)値およびローバスライン電圧(VCANL)値のうちの少なくとも1つを決定する電圧測定回路であって、上記受信メッセージは複数のビットを有する、電圧測定回路と、
ハイアクノリッジ(ACK)閾値電圧(VthH)およびローACK閾値電圧(VthL)のうちの少なくとも1つに少なくとも部分的に基づいて特徴集合の少なくとも1つの特徴の値を決定する特徴集合回路と、
を有し、
上記特徴集合は、いくつかのVCANH値のうち動作中に最も頻繁に測定されたVCANH値(VfreqH2)、および、いくつかのVCANL値のうち動作中に最も頻繁に測定されたVCANL値(VfreqL2)のうちの少なくとも1つを有する、車両システム。
(項目16)
上記少なくとも1つのECUは、上記VthHおよび上記VthLのうちの少なくとも1つを決定するACK閾値回路をさらに有し、
上記VthHは初期に最も頻繁に測定されたVCANH値(VfreqH1)に少なくとも部分的に基づいて決定され、上記VthLは初期に最も頻繁に測定されたVCANL値(VfreqL1)に少なくとも部分的に基づいて決定される、項目15に記載の車両システム。
(項目17)
上記少なくとも1つのECUは、上記特徴集合に少なくとも部分的に基づいて、上記受信メッセージを送信した送信ECUを識別する分類回路をさらに有する、項目15に記載の車両システム。
(項目18)
上記少なくとも1つのECUは、識別された上記送信ECUにより上記受信メッセージが正当に送信されたか否かを決定するシグネチャ回路をさらに有する、項目17に記載の車両システム。
(項目19)
上記特徴集合は、VthHおよび/またはVthLを有し、
VthHは上記ハイACK閾値電圧の初期値または上記ハイACK閾値電圧の調整値に対応し、
VthLは上記ローACK閾値電圧の初期値または上記ローACK閾値電圧の調整値に対応する、項目15から17のいずれか一項に記載の車両システム。
(項目20)
上記特徴集合回路は、直近でキャプチャされたVCANH値がVthHより大きい第1確率(PoutH)、および、直近でキャプチャされたVCANL値がVthLより小さい第2確率(PoutL)のうちの少なくとも1つをさらに決定する、項目15から17のいずれか一項に記載の車両システム。
(項目21)
上記特徴集合は、VfreqH2の移動平均およびVthHの移動平均、および/または、VfreqL2の移動平均およびVthLの移動平均をさらに有する、項目15から17のいずれか一項に記載の車両システム。
(項目22)
上記通信バスは、コントローラエリアネットワーク(CAN)バスプロトコルに準拠し、かつ/または、互換性を有する、項目15から17のいずれか一項に記載の車両システム。
(項目23)
項目8から14のいずれか一項に記載の方法を実行するよう構成された少なくとも1つのデバイスを備えるセキュリティシステム。
(項目24)
項目8から14のいずれか一項に記載の方法を実行する手段を備えるセキュリティデバイス。
(項目25)
1または複数のプロセッサにより実行された場合に、項目8から14のいずれか一項に記載の方法に含まれる複数のオペレーションをもたらす命令を格納したコンピュータ可読記憶デバイス。