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

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

▶ 株式会社デンソーの特許一覧

<>
  • 特開-電子制御装置 図1
  • 特開-電子制御装置 図2
  • 特開-電子制御装置 図3
  • 特開-電子制御装置 図4
  • 特開-電子制御装置 図5
  • 特開-電子制御装置 図6
  • 特開-電子制御装置 図7
  • 特開-電子制御装置 図8
  • 特開-電子制御装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024120144
(43)【公開日】2024-09-04
(54)【発明の名称】電子制御装置
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240828BHJP
   G06F 21/57 20130101ALI20240828BHJP
【FI】
G06F8/65
G06F21/57
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023026811
(22)【出願日】2023-02-23
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【弁理士】
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【弁理士】
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】村松 裕希
(72)【発明者】
【氏名】藤田 剛憲
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB01
5B376CA16
5B376CA43
5B376FA11
5B376GA08
(57)【要約】
【課題】ソフトウェアのバージョンダウンが可能な電子制御装置を提供すること。
【解決手段】電子制御装置100は、マイコンと、マイコンが実行するソフトウェアが書換え可能な状態で記憶されたメモリ20と、ソフトウェアを書換える配信ソフトウェア1を受信する通信インタフェース70とを備えている。マイコンは、配信ソフトウェアがROMに記憶されたソフトウェアよりも新しいバージョンでない場合に、配信ソフトウェアがセキュリティ基準を満たしているか否かを判定するセキュリティ検証部115を備えている。また、マイコンは、セキュリティ基準を満たしていると判定された場合に、ROMに記憶されたソフトウェアを配信ソフトウェアに書換えるロールバック部116を備えている。
【選択図】図2
【特許請求の範囲】
【請求項1】
処理装置(10)と、前記処理装置が実行するソフトウェアが書換え可能な状態で記憶された記憶装置(21)と、前記ソフトウェアを書換える配信ソフトウェアを受信する通信装置(70)と、を備えた電子制御装置であって、
前記処理装置は、
前記ソフトウェアと前記配信ソフトウェアのバージョンを確認するバージョン確認部(112)と、
前記配信ソフトウェアが前記ソフトウェアよりも新しいバージョンでない場合に、前記配信ソフトウェアがセキュリティ基準を満たしているか否かを判定するセキュリティ判定部(115)と、
前記セキュリティ基準を満たしていると判定された場合に、前記ソフトウェアを前記配信ソフトウェアに書換える書換部(116)と、を備えている電子制御装置。
【請求項2】
前記セキュリティ判定部は、
電子制御装置の現在位置を示す現在位置情報を取得する第1取得部(115a)と、
前記配信ソフトウェアの種別を示す配信ソフトウェア情報を取得する第2取得部(115c)と、
取得した前記現在位置と取得した前記種別との組み合わせが正当な場合は前記配信ソフトウェアが前記セキュリティ基準を満たしていると判定し、前記組み合わせが正当でない場合は前記配信ソフトウェアが前記セキュリティ基準を満たしていないと判定する判定部(115b、115d)と、を備えている請求項1に記載の電子制御装置。
【請求項3】
前記判定部は、
複数の位置情報と、各位置情報のセキュリティレベルと、各セキュリティレベルに対応する前記配信ソフトウェアの前記種別との関係を規定するセキュリティレベルリストが記憶されたリスト保存部(20c)を参照可能に構成されており、
取得した前記現在位置と前記セキュリティレベルリストと照合し、取得した前記現在位置の前記セキュリティレベルを判定する第1判定部(115b)と、
取得した前記種別と前記第1判定部の判定結果である前記セキュリティレベルを前記セキュリティレベルリストと照合し、前記種別の前記セキュリティレベルと判定結果である前記セキュリティレベルの関係を判定する第2判定部(115d)と、を備え、
前記第2判定部は、前記種別の前記セキュリティレベルと判定結果である前記セキュリティレベルの関係が、前記セキュリティレベルリストで規定された関係を満たしている場合に前記組み合わせが正当であるとみなし、前記セキュリティレベルリストで規定された関係を満たしていない場合に前記組み合わせが正当でないとみなす請求項2に記載の電子制御装置。
【請求項4】
前記リスト保存部は、前記記憶装置に設けられている請求項3に記載の電子制御装置。
【請求項5】
車両に搭載された電子制御装置であって、
前記リスト保存部は、前記車両に搭載された電子制御装置とは異なる他制御装置に設けられている請求項3に記載の電子制御装置。
【請求項6】
車両に搭載された電子制御装置であって、
前記セキュリティレベルリストは、前記セキュリティレベルが三段階に設定されており、
最も高い前記セキュリティレベルである高レベルには、前記位置情報として前記車両の製造会社の位置を示す情報と、前記種別として全ての前記配信ソフトウェアを示す情報が規定されており、
前記高レベルよりも低い前記セキュリティレベルである中レベルには、前記位置情報として前記車両のディーラの位置を示す情報と、機能アップデートと不具合修正のいずれか一方を示す情報が規定されており、
前記中レベルよりも低い前記セキュリティレベルである低レベルには、前記位置情報としてユーザの自宅の位置を示す情報と、前記種別としてオプション変更を示す情報が規定されている請求項3~5のいずれか1項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電子制御装置に関する。
【背景技術】
【0002】
電子制御装置の一例として、特許文献1に開示された情報処理装置がある。情報処理装置は、アップデート用ソフトウェアのバージョンの方が現在のソフトウェアのバージョンより新しいと判断された場合にアップデート用ソフトウェアを用いてソフトウェアを更新する。一方、情報処理装置は、アップデート用ソフトウェアのバージョンの方が現在のソフトウェアのバージョンより新しいと判断されなかった場合にソフトウェアの書換えを中断する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6595822号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のように、情報処理装置では、アップデート用ソフトウェアのバージョンの方が現在のソフトウェアのバージョンより新しい場合にソフトウェアの書換えを中断する。このため、情報処理装置では、ソフトウェアのバージョンダウンができないという問題がある。
【0005】
開示される一つの目的は、ソフトウェアのバージョンダウンが可能な電子制御装置を提供することである。
【課題を解決するための手段】
【0006】
ここに開示された電子制御装置は、
処理装置(10)と、処理装置が実行するソフトウェアが書換え可能な状態で記憶された記憶装置(21)と、ソフトウェアを書換える配信ソフトウェアを受信する通信装置(70)と、を備えた電子制御装置であって、
処理装置は、
ソフトウェアと配信ソフトウェアのバージョンを確認するバージョン確認部(112)と、
配信ソフトウェアがソフトウェアよりも新しいバージョンでない場合に、配信ソフトウェアがセキュリティ基準を満たしているか否かを判定するセキュリティ判定部(115)と、
セキュリティ基準を満たしていると判定された場合に、ソフトウェアを配信ソフトウェアに書換える書換部(116)と、を備えている電子制御装置。
【0007】
このように、電子制御装置は、配信ソフトウェアが新しいバージョンでなくても、セキュリティ基準を満たしていれば、ソフトウェアを配信ソフトウェアに書換えることができる。よって、電子制御装置は、バージョンダウンであっても、ソフトウェアを配信ソフトウェアに書換えることができる。
【0008】
この明細書において開示された複数の態様は、それぞれの目的を達成するために、互いに異なる技術的手段を採用する。請求の範囲およびこの項に記載した括弧内の符号は、後述する実施形態の部分との対応関係を例示的に示すものであって、技術的範囲を限定することを意図するものではない。この明細書に開示される目的、特徴、および効果は、後続の詳細な説明、および添付の図面を参照することによってより明確になる。
【図面の簡単な説明】
【0009】
図1】ECUの概略構成を示すブロック図である。
図2】ECUの機能を示す機能ブロック図である。
図3】セキュリティ検証部の機能を示す機能ブロック図である。
図4】ECUの動作を示すフローチャートである。
図5】セキュリティ検証部の動作を示すフローチャートである。
図6】セキュリティレベルを示すフローチャートである。
図7】セキュリティレベルの項目関係を示す図面である。
図8】変形例におけるセキュリティ検証部の機能を示す機能ブロック図である。
図9】変形例におけるセキュリティ検証部の動作を示すフローチャートである。
【発明を実施するための形態】
【0010】
(実施形態)
以下において、図面を参照しながら、本開示を実施するための形態を説明する。本実施形態では、一例として、車両に搭載可能な電子制御装置(ECU)100を採用する。車両には、制御対象が異なる複数の電子制御装置が搭載されている。電子制御装置100は、そのうちの一つである。複数の電子制御装置のうち、電子制御装置100以外の電子制御装置を他制御装置とも称する。
【0011】
<構成>
図1に示すように、電子制御装置100は、マイコン10、メモリ20、入力インタフェース30、出力インタフェース40、保護素子50、内部電源60、通信インタフェース70などを備えている。
【0012】
マイコン10(MIC)は、マイコン10は、内部電源60から電力供給されて動作可能な状態となる。マイコン10は、メモリ20のROM21に記憶されたソフトウェアを実行可能に構成されている。マイコン10は、ソフトウェアを実行することで各種演算処理を行う。マイコン10は、演算処理を行う際に、メモリ20のRAM22に記憶されたデータや入力インタフェース30を介して入力されたセンサ信号を用いる。マイコン10は、演算結果を制御信号として出力インタフェース40を介して出力する。なお、マイコン10は、プロセッサともいえる。マイコン10は、処理装置に相当する。
【0013】
メモリ20(MEM)は、ROM21、RAM22などを備えている。ROM21は、ソフトウェアなどが書換え可能に記憶されている。ROM21は、EEPROM(登録商標)やフラッシュメモリなどを採用できる。RAM22は、マイコン10が演算処理に用いるデータなどが一時的に記憶されている。ROM21は、記憶装置に相当する。
【0014】
図2に示すように、ROM21は、バージョン情報保存部20a、ソフトウェア保存部20b、セキュリティレベルリスト保存部20cを備えている。図2では、バージョン情報保存部20aをVIS、ソフトウェア保存部20bをSWS、セキュリティレベルリスト保存部20cをSLSと記載している。
【0015】
バージョン情報保存部20aは、ROM21に記憶されているソフトウェアのバージョン情報(番号)が記憶されている。ソフトウェア保存部20bは、ソフトウェアが記憶されている。以下では、ソフトウェア保存部20bに記憶されているソフトウェアを単にソフトウェアとも称する。セキュリティレベルリスト保存部20cは、セキュリティレベルリスト(SLL)が記憶されている。セキュリティレベルリスト保存部20cは、リスト保存部に相当する。
【0016】
電子制御装置100は、車両の外部に設けられた書換装置から配信された配信ソフトウェア1でソフトウェアを書換え可能に構成されている。電子制御装置100は、ソフトウェアをリプログラミング可能に構成されているともいえる。
【0017】
配信ソフトウェア1は、ソフトウェアよりもバージョンが新しいものだけでなく、バージョンが古いものもある。つまり、電子制御装置100は、ソフトウェア保存部20bに記憶されているソフトウェアを、新しいバージョンの配信ソフトウェア1で書換えることでバージョンアップできる。また、電子制御装置100は、ソフトウェア保存部20bに記憶されているソフトウェアを、古いバージョンの配信ソフトウェア1で書換えることでロールバックできる。しかしながら、古いバージョンの配信ソフトウェア1で書換える場合は、後ほど説明するセキュリティ基準を満たす必要がある。なお、電子制御装置100は、ソフトウェアを同じバージョンの配信ソフトウェア1に書換えるものであってもよい。この場合もロールバックとみなしてもよい。
【0018】
ここで、図6図7を用いて、セキュリティレベルリストに関して説明する。セキュリティレベルリストは、複数のGPS情報3と、各GPS情報3のセキュリティレベル(SL)と、各セキュリティレベルに対応する配信ソフトウェア1の種別との関係を規定するものである。なお、種別は、配信ソフトウェア1の書換えソフトレベルと言い換えることができる。
【0019】
セキュリティレベルリストは、項目としてセキュリティレベル、GPS情報3、配信ソフトウェア情報2を含んでいる。各項目の関係は、図7に示すようになっている。ソフトウェアのバージョン番号は、配信ソフトウェア情報2に含まれており、配信ソフトウェア1の種別ごとに異なる。よって、バージョン番号によって種別を判定できる。また、配信ソフトウェア情報2は、バージョン番号に加えて、配信ソフトウェア1の種別を示す情報がふくまれていてもよい。
【0020】
GPS情報は、位置情報に相当する。図2などでは、配信ソフトウェア1をDSW、配信ソフトウェア情報2をDSI、GPS情報3をGSIと記載している。
【0021】
図6に、セキュリティレベルリストの一例を示す。セキュリティレベルリストは、セキュリティレベルがレベル1~3の三段階に設定されている。
【0022】
レベル3は、最も高いセキュリティレベルである。レベル3は、GPS情報3として車両の製造会社の位置を示す情報と、種別として全ての配信ソフトウェア1を示す情報が規定されている。つまり、電子制御装置100の現在位置が製造会社内であった場合は、全ての配信ソフトウェア1がセキュリティ基準を満たしているとみなせる。レベル3は、高レベルに相当する。
【0023】
レベル2は、高レベルよりも低いセキュリティレベルである。レベル2には、GPS情報として車両のディーラ(正規ディーラ)の位置を示す情報と、種別として機能アップデートに関する配信ソフトウェア1と不具合修正に関する配信ソフトウェア1のいずれか一方を示す情報が規定されている。つまり、電子制御装置100の現在位置がディーラであり、配信ソフトウェア1の種別が機能アップデートを示す場合は、セキュリティ基準を満たしているとみなせる。レベル2は、中レベルに相当する。
【0024】
レベル1は、中レベルよりも低いセキュリティレベルである。レベル1には、GPS情報としてユーザの自宅の位置を示す情報と、種別としてオプション変更に関する配信ソフトウェア1を示す情報が規定されている。また、位置情報は、予め登録された車専門店の位置を示す情報を含んでいてもよい。つまり、電子制御装置100の現在位置がユーザの自宅であり、配信ソフトウェア1の種別がオプション変更を示す場合は、セキュリティ基準を満たしているとみなせる。レベル1は、低レベルに相当する。
【0025】
また、位置情報のセキュリティレベルよりも低いセキュリティレベルの種別の場合、セキュリティ基準をみたしているとみなせる。つまり、位置情報が正規ディーラの場合、種別がオプション変更に関する配信ソフトウェア1であってもセキュリティ基準をみなしていることなる。
【0026】
ここで、図1の説明に戻る。入力インタフェース30(IIF)は、センサ300(SEN)と接続されている。入力インタフェース30は、センサ300から出力されたセンサ信号が入力される。マイコン10は、センサ信号を用いて演算処理を行う。センサ300は、マイコン10が演算に用いる信号を出力する出力装置である。なお、入力インタフェース30は、センサ300以外の出力装置と接続されていてもよい。
【0027】
出力インタフェース40(OIF)は、アクチュエータ400(ACT)と接続されている。電子制御装置100は、出力インタフェース40を介して、マイコン10で生成された制御信号を出力する。アクチュエータ400は、電子制御装置100の制御対象である。よって、アクチュエータ400は、対象装置ともいえる。なお、出力インタフェース40は、アクチュエータ400以外の対象装置と接続されていてもよい。
【0028】
保護素子50(PRT)は、バッテリ200および内部電源60(PWS)と接続されている。保護素子50は、バッテリ200から過電圧が印加されることを防ぐための素子である。
【0029】
内部電源60(PWS)は、電子制御装置100の内部で用いる電力を生成して、マイコン10などに供給する。内部電源60は、保護素子50を介してバッテリ200から電力が供給される。内部電源60は、バッテリ200からの電力を電子制御装置100の内部で用いる電力を生成する。
【0030】
通信インタフェース70(CIF)は、通信線500と接続されている。通信インタフェース70は、通信線500を介して他制御装置などと通信を行う通信装置である。通信インタフェース70は、ROM21に記憶されたソフトウェアを書換える配信ソフトウェア1などを受信する。電子制御装置100は、車両の製造会社やディーラなどにおいて、書換装置から配信ソフトウェア1などを、通信線500を介して受信できる。つまり、書換装置は、車両の外部である製造会社やディーラなどに設けられているといえる。
【0031】
電子制御装置100は、配信ソフトウェア1に加えて、配信ソフトウェア1の種別を示す配信ソフトウェア情報2、電子制御装置100の現在位置を示すGPS情報3を受信可能である。GPS情報3は、電子制御装置100が車両に搭載されている場合、車両の現在位置を示す情報である。
【0032】
なお、ここでの通信は、CAN(登録商標)プロトコルに準拠したものを採用できる。この場合、通信インタフェース70は、CANインタフェースである。通信インタフェース70は、通信装置に相当する。
【0033】
電子制御装置100は、通信装置として、無線通信装置を備えてもよい。この場合、電子制御装置100は、無線通信装置を介して、車両の外部に設けられ、書換装置を備えた外部センターなどと通信を行うことができる。電子制御装置100は、無線通信装置を備えることで、配信ソフトウェア1などを無線で受信できる。つまり、電子制御装置100は、OTA(Over the Air)を活用してソフトウェアを書換えることができる。
【0034】
<機能ブロック、処理動作>
ここで、図2図5を用いて、電子制御装置100の機能ブロックと処理動作に関して説明する。電子制御装置100は、マイコン10が演算処理を実行する各種機能を提供する。図2図3には、各種機能の関係を示す各種機能ブロックを示す。図2に示すように、マイコン10は、機能ブロックとして、ソフトウェアを書換えるアップデータ110を有している。
【0035】
マイコン10は、書換装置からソフトウェアの更新リクエストがあると図4のフローチャートに示す処理を開始する。
【0036】
ステップS11では、配信ソフトウェア1をダウンロードする。マイコン10は、通信インタフェース70を介してダウンロードする。以下、ダウンロードした配信ソフトウェア1を単に配信ソフトウェア1とも称する。
【0037】
ステップS12では、バージョン番号の正当性を確認する。第1検証部111(1VDT)は、配信ソフトウェア1のバージョン番号が正当なものであるか否かを確認する。なお、バージョン番号は、配信ソフトウェア1に付与されている。このため、第1検証部111は、配信ソフトウェア1を参照することで正当性を確認できる。マイコン10は、バージョン番号が正当でないと判断した場合、図4のフローチャートを終了してもよい。
【0038】
ステップS13では、バージョンを確認する。ここでは、配信ソフトウェア1がバージョンアップのためのものかバージョンダウンのためのものかを確認する。ロールバック検知部112(RBD)は、ソフトウェアのバージョンと配信ソフトウェア1のバージョンを確認する。このとき、バージョン管理部113(VCNT)は、バージョン情報保存部20a(VIS)からソフトウェアのバージョン番号を読み出して、ロールバック検知部112に出力する。つまり、ロールバック検知部112は、バージョン管理部113を介してバージョン情報保存部20aに記憶されているバージョン番号を参照する。ロールバック検知部112は、ソフトウェアのバージョン番号と配信ソフトウェア1のバージョン番号とを比較する。ロールバック検知部112は、バージョン確認部に相当する。
【0039】
ステップS14では、新しいバージョンであるか否かを確認する。ロールバック検知部112は、ソフトウェアのバージョン番号と配信ソフトウェア1のバージョン番号とを比較する。そして、ロールバック検知部112は、ソフトウェアのバージョン番号よりも配信ソフトウェア1のバージョン番号の方が新しいことを示す場合に新しいバージョンと判定する。また、ロールバック検知部112は、ソフトウェアのバージョン番号よりも配信ソフトウェア1のバージョン番号の方が新しいことを示さない場合に新しいバージョンと判定しない。マイコン10は、新しいバージョンであると判定した場合はステップS15へ進み、新しいバージョンであると判定しなかった場合はステップS16へ進む。
【0040】
ステップS16では、セキュリティ確認を行う。セキュリティ検証部115(SVDT)は、配信ソフトウェア1の種別と現在位置との関係でセキュリティをクリアしているか否か、すなわち、セキュリティ基準をみたしているか否かを確認する。つまり、セキュリティ検証部115は、配信ソフトウェア1がソフトウェアよりも新しいバージョンでない場合に、配信ソフトウェア1がセキュリティ基準を満たしているか否かを判定する。セキュリティ検証部115は、セキュリティ判定部に相当する。
【0041】
ここは、図3図5を用いて、セキュリティ確認処理に関して説明する。セキュリティ検証部115は、図3に示す各機能ブロックを含んでいる。
【0042】
ステップS20では、GPS情報3を取得する。GPS情報取得部115a(GPA)は、電子制御装置100の現在位置を示すGPS情報3を取得する。GPS情報取得部115aは、通信インタフェース70を介して、他制御装置の一つであるナビ制御装置などからGPS情報3を取得する。GPS情報取得部115aは、第1取得部に相当する。GPS情報3は、現在位置情報に相当する。
【0043】
ステップS21では、GPS情報3を電子制御装置100内で保存するセキュリティレベルリストと照合する。セキュリティレベル検証部115b(SLD)は、GPS情報3を、セキュリティレベルリスト保存部20cに記憶されているセキュリティレベルリストと照合する。
【0044】
ステップS22では、セキュリティレベルを判定する。セキュリティレベル検証部115bは、GPS情報3のセキュリティレベル、すなわち、電子制御装置100の現在位置のセキュリティレベルを判定する。つまり、セキュリティレベル検証部115bは、セキュリティレベルリストにおいてGPS情報3に関連付けられているセキュリティレベルを判定する。セキュリティレベル検証部115bは、判定部、第1判定部に相当する。
【0045】
ステップS23では、配信ソフトウェア情報2を取得する。配信ソフトウェア情報取得部115c(DSA)は、配信ソフトウェア情報2を取得する。言い換えると、配信ソフトウェア情報取得部115cは、配信ソフトウェア1の種別、または、配信ソフトウェア1の種別を示すバージョン番号を取得する。ここでの配信ソフトウェア情報2は、ステップS11でダウンロードした配信ソフトウェア1における情報である。配信ソフトウェア情報取得部115cは、第2取得部に相当する。
【0046】
ステップS24では、配信ソフトウェア情報2とセキュリティレベルを電子制御装置100で保存するセキュリティレベルリストと照合する。セキュリティクリア検証部115d(SCD)は、ステップS23で取得した配信ソフトウェア情報2とステップS22の判定結果であるセキュリティレベルを、セキュリティレベルリスト保存部20cに記憶されているセキュリティレベルリストと照合する。つまり、セキュリティクリア検証部115dは、配信ソフトウェア1の種別とGPS情報3のセキュリティレベルを、セキュリティレベルリストと照合する。セキュリティクリア検証部115dは、判定部、第2判定部に相当する。
【0047】
ステップS25では、場所(GPS情報3)と配信ソフトウェア1とが正当な組み合わせであるか否かを判定する。セキュリティクリア検証部115dは、取得したGPS情報3と取得した種別との組み合わせが正当な場合は配信ソフトウェア1がセキュリティ基準を満たしていると判定する。また、マイコン10は、取得したGPS情報3と取得した種別との組み合わせが正当でない場合は配信ソフトウェア1がセキュリティ基準を満たしていないと判定する。
【0048】
そこで、セキュリティクリア検証部115dは、ステップS24で照合した結果を用いて、種別のセキュリティレベルとGPS情報3のセキュリティレベルの関係が、セキュリティレベルリストで規定された関係を満たしているか否かを判定する。
【0049】
セキュリティクリア検証部115dは、種別のセキュリティレベルとGPS情報3のセキュリティレベルの関係が、セキュリティレベルリストで規定された関係を満たしている場合に、GPS情報3と種別との組み合わせが正当であるとみなす。よって、セキュリティクリア検証部115dは、配信ソフトウェア1がセキュリティ基準を満たしていると判定する。
【0050】
一方、セキュリティクリア検証部115dは、両セキュリティレベルの関係がセキュリティレベルリストで規定された関係を満たしていない場合に、GPS情報3と種別との組み合わせが正当でないとみなす。よって、セキュリティクリア検証部115dは、配信ソフトウェア1がセキュリティ基準を満たしていないと判定する。
【0051】
たとえば、GPS情報3が製造会社の社内であることを示す場合、全ての種別の配信ソフトウェア1は、セキュリティ基準を満たすことになる。GPS情報3が正規ディーラ内であることを示す場合、種別が不具合修正の配信ソフトウェア1は、セキュリティ基準を満たすことになる。しかしながら、GPS情報3が自宅であることを示す場合、種別が不具合修正の配信ソフトウェア1は、セキュリティ基準を満たさないことになる。
【0052】
ステップS26では、セキュリティをクリアしていると決定する。セキュリティクリア決定部115e(SCC)は、セキュリティクリア検証部115dの検証結果に応じて、セキュリティをクリアしている、すなわち、セキュリティ基準を満たしていると決定する。ここでは、セキュリティクリア決定部115eは、組み合わせが正当であるとみなされた場合、たとえばRAM22などに、セキュリティ基準を満たしていることを示す情報を記憶させる。
【0053】
なお、マイコン10は、ステップS25でYES判定した場合にステップS15へ進み、NO判定した場合に図4図5のフローチャートを終了してもよい。
【0054】
ここで、図4のフローチャートに戻る。ステップS17では、セキュリティをクリアしているか否かを確認する。セキュリティ検証部115は、ステップS16において、セキュリティをクリアしているとの検証結果が得られているか否かを判定する。セキュリティ検証部115は、RAM22などにセキュリティ基準を満たしていることを示す情報が記憶されている場合、セキュリティをクリアしていると判定する。また、セキュリティ検証部115は、RAM22などにセキュリティ基準を満たしていることを示す情報が記憶されていない場合、セキュリティをクリアしていると判定しない。マイコン10は、セキュリティをクリアしていると判定した場合はステップS15へ進み、セキュリティをクリアしていると判定しなかった場合は図4のフローチャートを終了する。つまり、マイコン10は、セキュリティをクリアしていない配信ソフトウェア1でのソフトウェアの書換えは行わない。なお、RAM22の容量が小さい場合は、一旦ROM21に配信ソフトウェア1を書いておき、セキュリティをクリアしたタイミングで、配信ソフトウェア1の使用を許可する場合もある。
【0055】
ステップS15では、ソフトウェアの書換えを行う。ステップS14でYES判定した場合は、アップデート部114(UPD)でソフトウェアの書換えを行う。アップデート部114は、ソフトウェア保存部20bに記憶されているソフトウェアを配信ソフトウェア1で書換える。
【0056】
一方、ステップS14でNO判定した場合は、ロールバック部116(RBP)でソフトウェアの書換えを行う。ロールバック部116は、ソフトウェア保存部20bに記憶されているソフトウェアを配信ソフトウェア1で書換える。ステップS14でNO判定の場合は、ロールバック攻撃の可能がある。そのため、ロールバック部116は、上記のようにステップS16、S17でセキュリティ基準を満たしていると判定された場合に限ってソフトウェアの書換えを行う。ロールバック部116は、書換部に相当する。
【0057】
ステップS18では、書換えが成功したか否かを判定する。第2検証部117(2VDT)は、ソフトウェア保存部20bに記憶されているソフトウェアの書換えが成功したか否かを判定する。マイコン10は、成功したと判定した場合はステップS19へ進み、成功したと判定しなかった場合は図4のフローチャートを終了する。なお、書換えが成功したか否かの判定方法は特に限定されない。
【0058】
ステップS19では、バージョン情報を書換える。バージョン管理部113は、バージョン情報保存部20aに記憶されているバージョン番号を、配信ソフトウェアのバージョン番号に書き換える。これによって、ソフトウェア保存部20bに記憶されているソフトウェアのバージョン番号と、バージョン情報保存部20aに記憶されているバージョン番号とが一致する。
【0059】
<効果>
このように、電子制御装置100は、配信ソフトウェア1が新しいバージョンでなくても、セキュリティ基準を満たしていれば、ソフトウェアを配信ソフトウェア1に書換えることができる。よって、電子制御装置100は、バージョンダウンであっても、ソフトウェアを配信ソフトウェア1に書換えることができる。つまり、電子制御装置100は、セキュリティ基準を満たしていることを条件にロールバックを行うことができる。このため、電子制御装置100は、ロールバック攻撃を防ぎつつ、ソフトウェアのバージョンダウンができる。
【0060】
電子制御装置100は、セキュリティ基準を満たしていることを条件にロールバックを行うことができるため、ユーザと開発側に対して柔軟な対応が可能となる。たとえば、電子制御装置100は、オプション変更の配信ソフトウェア1がバージョンダウンに相当したとしても、ユーザの自宅であればソフトウェアを書換えることができる。また、電子制御装置100は、バージョンダウンであることを理由にソフトウェアの書換えが却下されることを防げる。また、電子制御装置100は、ソフトウェアのカスタマイズの選択肢を増やすことができる。
【0061】
電子制御装置100は、上記のような三段階のセキュリティレベルが設定されたセキュリティレベルリストを用いて、キュリティ基準を満たしているか否かを判定している。このため、電子制御装置100は、適切な場所と配信ソフトウェア1の組み合わせによって、安全なロールバックを実現できる。
【0062】
さらに、電子制御装置100は、自身のメモリ20内にセキュリティレベルリストが記憶されている。このため、電子制御装置100は、セキュリティレベルリストやセキュリティ検証部115などの組み込み作業や、それらの検証作業を一つ電子制御装置100に対してのみ実施すればよい。つまり、電子制御装置100は、後ほど説明する変形例に比べて、組み込み作業や検証作業を小規模化することができる。
【0063】
(変形例)
ここで、図8図9を用いて、電子制御装置100の変形例に関して説明する。図8に示すように、車両100x(CAR)には、電子制御装置100の外部にメモリ20xが設けられている。メモリ20xは、たとえばマスタ制御装置などの他制御装置に設けられている。そして、セキュリティレベルリスト保存部20cは、メモリ20xに設けられている。
【0064】
また、車両制御システムは、通信可能に構成された複数の電子制御装置を備えているとみなせる。車両制御システムは、電子制御装置100と、メモリ20xを備えたマスタ制御とを備えている。
【0065】
セキュリティレベル検証部115bおよびセキュリティクリア検証部115dは、メモリ20xにアクセス可能に構成されている。言い換えると、セキュリティレベル検証部115bおよびセキュリティクリア検証部115dは、メモリ20xに記憶されたセキュリティレベルリスト保存部20cのセキュリティレベルリストを参照可能に構成されている。
【0066】
図9に示すように、ステップS21aでは、セキュリティレベル検証部115bは、GPS情報3を車両100x内で保存するセキュリティレベルリストと照合する。ステップS24aでは、セキュリティクリア検証部115dは、配信ソフトウェア情報2とセキュリティレベルを車両100xで保存するセキュリティレベルリストと照合する。
【0067】
このため、電子制御装置100は、セキュリティレベルリストをメモリ20に記憶しておく必要がない。よって、電子制御装置100は、セキュリティレベルリストのために機能を縮小する必要が無い。また、電子制御装置100は、メモリ20のサイズを考慮せずにセキュリティレベルリストを組み込むことができる。さらに、車両制御システムは、複数の電子制御装置でセキュリティレベルリストを共有できる。変形例の電子制御装置100は、上記実施形態と同様の効果を奏することができる。
【0068】
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。
【0069】
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態が本開示に示されているが、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【0070】
1…配信ソフトウェア、2…配信ソフトウェア情報、3…GPS情報、10…マイコン、20,20x…メモリ、20a…バージョン情報保存部、20b…ソフトウェア保存部、20c…セキュリティレベルリスト保存部、21…ROM、22…RAM、30…入力インタフェース、40…出力インタフェース、50…保護素子、60…内部電源、70…通信インタフェース、100…電子制御装置、100x…車両、110…アップデータ、111…第1検証部、112…ロールバック検知部、113…バージョン管理部、114…アップデート部、115…セキュリティ検証部、115a…GPS情報取得部、115b…セキュリティレベル検証部、115c…配信ソフトウェア情報取得部、115d…セキュリティクリア検証部、115e…セキュリティクリア決定部、116…ロールバック部、117…第2検証部、200…バッテリ、300…センサ、400…アクチュエータ、500…通信線
図1
図2
図3
図4
図5
図6
図7
図8
図9