(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024174377
(43)【公開日】2024-12-17
(54)【発明の名称】車載制御システム
(51)【国際特許分類】
G06F 21/44 20130101AFI20241210BHJP
G06F 21/50 20130101ALI20241210BHJP
B60R 16/02 20060101ALI20241210BHJP
【FI】
G06F21/44
G06F21/50
B60R16/02 660U
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2023092183
(22)【出願日】2023-06-05
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000017
【氏名又は名称】弁理士法人アイテック国際特許事務所
(72)【発明者】
【氏名】吉田 祐樹
(57)【要約】
【課題】より適正に電子制御ユニットが不正に交換や改ざんされたことを検知する。
【解決手段】イグニッションオンの場合において、所定の演算、および、所定の暗号化またはハッシュ化を実行した履歴としての演算履歴がないときには、車両に固有の値に対して所定の演算、および、所定の暗号化またはハッシュ化を施した演算結果を記憶すると共にサーバに送信し、演算履歴が有るときには、記憶している演算結果に所定の演算、および、所定の暗号化またはハッシュ化を施した値で記憶している演算結果を更新すると共に更新後の演算結果をサーバに送信する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
複数の電子制御ユニットを備え、サーバと情報をやりとり可能で、車両に搭載される装置を制御するための車載制御システムであって、
複数の前記電子制御ユニットは、イグニッションオンの場合において、所定の演算、および、所定の暗号化またはハッシュ化を実行した履歴としての演算履歴がないときには、前記車両に固有の値に対して所定の演算、および、所定の暗号化またはハッシュ化を施した演算結果を記憶すると共に前記サーバに送信し、前記演算履歴が有るときには、記憶している前記演算結果に所定の演算、および、所定の暗号化またはハッシュ化を施した値で記憶している前記演算結果を更新すると共に更新後の前記演算結果を前記サーバに送信する
車載制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載制御システムに関する。
【背景技術】
【0002】
従来、この種の車載制御システムとしては、複数の電子制御ユニットと、複数の電子制御ユニットと車載ネットワークを介して接続される不正検知電子制御ユニットと、を備えるものが提案されている(例えば、特許文献1参照)。このシステムでは、不正検知電子制御ユニットは、他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶し、規則にしたがって、他の電子制御ユニットから送信されたフレームが不正であるかを判定している。これにより、他の電子制御ユニットが不正に改ざんされたことを検知している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の車載制御システムでは、不正検知電子制御ユニットが不正に交換されると、他の電子制御ユニットが不正に交換や改ざんされたことを適正に検知できなくなる。
【0005】
本開示の車載制御システムは、より適正に電子制御ユニットが不正に交換や改ざんされたことを検知することを主目的とする。
【課題を解決するための手段】
【0006】
本開示の車載制御システムは、上述の主目的を達成するために以下の手段を採った。
【0007】
本開示の車載制御システムは、
複数の電子制御ユニットを備え、サーバと情報をやりとり可能で、車両に搭載される装置を制御するための車載制御システムであって、
複数の前記電子制御ユニットは、イグニッションオンの場合において、所定の演算、および、所定の暗号化またはハッシュ化を実行した履歴としての演算履歴がないときには、前記車両に固有の値に対して所定の演算、および、所定の暗号化またはハッシュ化を施した演算結果を記憶すると共に前記サーバに送信し、前記演算履歴が有るときには、記憶している前記演算結果に所定の演算、および、所定の暗号化またはハッシュ化を施した値で記憶している前記演算結果を更新すると共に更新後の前記演算結果を前記サーバに送信する
ことを要旨とする。
【0008】
この本開示の車載制御システムでは、複数の電子制御ユニットは、イグニッションオンの場合において、所定の演算、および、所定の暗号化またはハッシュ化を実行した履歴としての演算履歴がないときには、車両に固有の値に対して所定の演算、および、所定の暗号化またはハッシュ化を施した演算結果を記憶すると共にサーバに送信し、演算履歴が有るときには、記憶している演算結果に所定の演算、および、所定の暗号化またはハッシュ化を施した値で記憶している演算結果を更新すると共に更新後の演算結果をサーバに送信する。これにより、より適正に電子制御ユニットが不正に交換や改ざんされたことを検知できる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態の車載制御システム20の構成の概略を示す構成図である。
【
図2】車両VのECU22で実行される処理ルーチンの一例を示すフローチャートである。
【
図3】ECU22、ECU24における演算結果値Nvrの変化の一例を示す説明図である。
【発明を実施するための形態】
【0010】
本開示の実施形態について図面を参照しながら説明する。
図1は、本実施形態の車載制御システム20の構成の概略を示す構成図である。車載制御システム20は、エンジンやモータなどが搭載された車両Vに搭載されており、外部のサーバ10とインターネットを介して情報をやりとり可能に構成されており、電子制御ユニット(以下、「ECU」という)22、24を備える。
【0011】
ECU22、24は、車両Vに搭載されるエンジンやモータなどを制御する装置として構成されており、マイクロコンピュータを備える。マイクロコンピュータは、CPUやROM、RAM、フラッシュメモリ、入出力ポート、通信ポートを有する。ECU22、24は、各種センサからの信号を入力している。例えば、ECU22、24には、イグニッションスイッチ(IG)26からのイグニッション信号などが入力されている。ECU22、24からは、車両Vに搭載されるエンジンやモータを制御するための制御信号が出力されている。ECU22は、車載ネットワークを介してECU24と通信可能となっている。ECU22、24のROMには、出荷時に、車両Vに割り当てられる固有の値である車両固有値Nvが記憶されている。車両固有値Nvとしては、8桁の数字などを挙げることができる。
【0012】
サーバ10は、マイクロコンピュータを備える。マイクロコンピュータは、CPUやROM、RAM、フラッシュメモリ、入出力ポート、通信ポートを有する。サーバ10は、各種演算処理などを行なう。
【0013】
次に、こうして構成された車載制御システム20の動作、特に、ECU22、24が不正に交換されたか否かを判定する際の動作について説明する。
図2は、車両VのECU22で実行される処理ルーチンの一例を示すフローチャートである。本ルーチンは、イグニッションスイッチ26がオンされたときに、実行される。なお、車両VのECU24は、
図2に例示した処理ルーチンと同様の処理を実行するが、重複した説明を避けるため、ECU22の動作の説明をもってECU24の動作の説明とする。
【0014】
本ルーチンが実行されると、ECU22のCPUは、後述するステップS110やステップS130の演算およびハッシュ化の処理が実行された演算履歴が有るか否かを判定する(ステップS100)。演算履歴がないとき、即ち、本ルーチンが車両Vが出荷されてから最初に実行されるルーチンであるときには、車両固有値Nvに対して演算処理を施した後にハッシュ化処理を施して演算結果値Nvrを算出する(ステップ110)。演算結果値Nvrの算出は、予め定められた所定の演算処理や所定のハッシュ化処理により実行される。所定の演算処理は、演算対象値(ステップS110では車両固有値Nv)の各桁を2倍して各桁の1桁目を抽出する処理など車両Vの出荷時に予め定められた演算処理である。所定のハッシュ化処理は、車両Vの出荷時に予め定められたハッシュ関数を用いた処理である。
【0015】
こうした演算結果値Nvrを算出すると、演算履歴を有りに変更して(ステップS120)、フラッシュメモリに演算結果値Nvrを記憶させると共に演算結果値Nvrをサーバ10に送信して(ステップS140)、本ルーチンを終了する。
【0016】
ステップS100で演算履歴が有るときには、フラッシュメモリに記憶している演算結果値Nvrに対してステップS110と同一の演算処理を施した後にハッシュ化処理を施して(ステップS130)、ステップS130で演算した演算結果値NvrでECU24に記憶している演算結果値Nvrを更新してフラッシュメモリに記憶すると共にサーバ10に送信して(ステップS140)、本ルーチンを終了する。
【0017】
演算結果値Nvrを受信したサーバ10は、ECU22での演算結果値NvrとECU24の演算結果値Nvrとを比較する。サーバ10は、ECU22での演算結果値NvrとECU24の演算結果値Nvrとが一致するときには、ECU22、24が不正なECUではないと判定する。サーバ10は、ECU22での演算結果値NvrとECU24の演算結果値Nvrとが一致しないときには、ECU22、24のいずれかが不正なECUに交換または改ざんされていると判定する。
【0018】
図3は、ECU22、ECU24における演算結果値Nvrの変化の一例を示す説明図である。
図3では、車両Vの出荷時において、ECU22,ECU24は、車両固有値Nvとして「12345678」を記憶しているものとする。ECU22、ECU24は、車両Vの出荷後初めてイグニッションオンされたとき(イグニッションオン1回目)には、車両固有値Nvに対して演算処理を施した後にハッシュ化処理を施した演算結果値Nvr(「24680246」)を取得し(ステップS110)、演算結果値Nvr(「24680246」)をフラッシュメモリに記憶すると共にサーバ10に送信する(ステップS140)。演算結果値Nvrを受信したサーバ10は、ECU22での演算結果値NvrとECU24の演算結果値Nvrとを比較する。ECU22、24が共に不正なECUでないときには、ECU22,ECU24の演算結果値Nvrは一致する。サーバ10は、ECU22、24が不正なECUではないと判定する。
【0019】
次にイグニッションオンされると、ECU22、ECU24は、ステップS130の処理を実行し、フラッシュメモリに記憶している演算結果値Nvr(「24680246」)に対して演算処理を施した後にハッシュ化処理を施した演算結果値Nvr(「48260482」)を取得し(ステップS130)、 演算結果値Nvr(「48260482」)をフラッシュメモリに記憶すると共にサーバ10に送信する(ステップS140)。演算結果値Nvrを受信したサーバ10は、ECU22での演算結果値NvrとECU24の演算結果値Nvrとを比較する。ECU22、24が共に不正なECUでないときには、ECU22,ECU24の演算結果値Nvrは一致するから、サーバ10は、ECU22、24が不正なECUではないと判定する。このように、ECU22、24が共に不正に交換または改ざんされないときには、ECU22の演算結果値NvrとECU24の演算結果値Nvrとは常に一致し、サーバ10は、ECU22、24が不正なECUではないと判定する。
【0020】
2回目のイグニッションオンの後にECU24が不正に交換または改ざんされたときを考える。ECU24が不正に交換または改ざんされると、ECU22は、2回目のイグニッションオンのときに演算した演算結果値Nvr(「48260482」)を記憶しているが、ECU24は、演算履歴がなく、演算結果値Nvrを記憶していない。そして、イグニッションオンされると(3回目のイグニッションオン)では、ECU22は、記憶している演算結果値Nvr(「48260482」)に対して演算処理を施した後にハッシュ化処理を施して演算結果値Nvr(「86420864」)を取得する(ステップS130)。ECU24は、車両固有値Nvに対して演算処理を施した後にハッシュ化処理を施した演算結果値Nvr(「24680246」)を取得することから(ステップS120)、ECU22の演算結果値NvrとECU24の演算結果値Nvrとが異なるものとなる。演算結果値Nvrを受信したサーバ10は、ECU22での演算結果値NvrとECU24の演算結果値Nvrとを比較する。ECU22、ECU24の演算結果値Nvrが一致しないことから、サーバ10は、ECU22、24のうちのいずれかが不正なECUであると判定する。このように、ECU22、24のうちの一方が不正に交換または改ざんされると、ECU22の演算結果値NvrとECU24の演算結果値Nvrとが異なる値となり、サーバ10は、ECU22、24のうちのいずれかが不正なECUであると判定する。こうした処理により、サーバ10は、ECU22、24の状態をより適正に管理できる。
【0021】
以上説明した本実施形態の車載制御システム20によれば、イグニッションオンの場合において、所定の演算および所定のハッシュ化を実行した履歴としての演算履歴がないときには、車両固有値Nvに対して所定の演算および所定のハッシュ化を施した演算結果値Nvrを記憶すると共にサーバ10に送信し、演算履歴が有るときには、記憶している演算結果値Nvrに所定の演算および所定のハッシュ化を施した値で記憶している演算結果値Nvrを更新すると共に更新後の演算結果値Nvrをサーバ10に送信することにより、より適正に電子制御ユニットが不正に交換や改ざんされたことを検知できる。
【0022】
上述した実施形態の車載制御システム20では、ステップS110、S130で車両固有値Nvや記憶している演算結果値Nvrに対して所定の演算を施した後に所定のハッシュ化を施している。しかし、ステップS110、S130の処理に代えて、車両固有値Nvや記憶している演算結果値Nvrに対して所定のハッシュ化を施した後に所定の演算を施してもよい。また、所定のハッシュ化に代えて、所定の暗号化を行なってもよい。暗号化に用いるアルゴリズムとしては、DES(Data Encryption Standard)やRC4(Rivest Cipher 4)、AES(Advanced Encryption Standard)などを挙げることができる。
【0023】
上述した実施形態の車載制御システム20では、2つのECU(ECU22、24)を備えているが、3つ以上のECUを備えていてもよい。
【0024】
実施形態の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施形態では、ECU22、24が「複数の電子制御ユニット」に相当する。
【0025】
なお、実施形態の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施形態が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施形態は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
【0026】
以上、本開示を実施するための実施形態について説明したが、本開示はこうした実施形態に何等限定されるものではなく、本開示の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【0027】
以上、本開示の発明を実施するための形態について説明したが、本開示の発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【0028】
本開示は、車載制御システムの製造産業などに利用可能である。
【符号の説明】
【0029】
10 サーバ、20 車載制御システム、22、24 電子制御ユニット(ECU)、26 イグニッションスイッチ、V 車両。