(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177943
(43)【公開日】2024-12-24
(54)【発明の名称】車載電子制御装置
(51)【国際特許分類】
H04L 9/10 20060101AFI20241217BHJP
H04L 9/08 20060101ALI20241217BHJP
【FI】
H04L9/10 A
H04L9/08 F
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023096367
(22)【出願日】2023-06-12
(71)【出願人】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】山口 宗一郎
(57)【要約】
【課題】複数のマイクロコンピュータを含むECUにおいて、外部通信機能を持たないマイクロコンピュータを内部に有する場合でも、電子鍵を利用するすべてのマイクロコンピュータへ同一の電子鍵を書き込む。
【解決手段】第1のマイクロコンピュータと第2のマイクロコンピュータを有する車載電子制御装置であって、第1のマイクロコンピュータは、第1のプロセッサと、第1の記憶部と、第1の通信部と、第1の不揮発性記憶部を含む第1のHSMと、第1のマイクロコンピュータ間通信部と、を有し、第2のマイクロコンピュータは、第2のプロセッサと、第2の記憶部と、第2のマイクロコンピュータ間通信部と、第2の不揮発性記憶部を含む第2のHSMと、を有し、第1のプロセッサは、受信した電子鍵を第1のHSMに書き込ませ、第1のプロセッサは、第2のマイクロコンピュータに転送して第2の不揮発性記憶部に書き込ませる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1のマイクロコンピュータと第2のマイクロコンピュータを有する車載電子制御装置であって、
前記第1のマイクロコンピュータで演算処理を行う第1のプロセッサと、
前記第1のプロセッサに接続されて情報を記憶する第1の記憶部と、
前記第1のプロセッサに接続されて外部と通信を行って電子鍵を受信する第1の通信部と、
前記第1のプロセッサに接続されて前記電子鍵を保持する第1の不揮発性記憶部を含んで暗号処理を行う第1のハードウェアセキュリティモジュールと、
前記第1のプロセッサに接続されて前記第2のマイクロコンピュータと通信を行う第1のマイクロコンピュータ間通信部と、
前記第2のマイクロコンピュータで演算処理を行う第2のプロセッサと、
前記第2のプロセッサに接続されて情報を記憶する第2の記憶部と、
前記第2のプロセッサに接続されて前記第1のマイクロコンピュータと通信を行う第2のマイクロコンピュータ間通信部と、
前記第2のプロセッサに接続されて前記電子鍵を保持する第2の不揮発性記憶部を含んで暗号処理を行う第2のハードウェアセキュリティモジュールと、を有し、
前記第1のプロセッサは、前記第1の通信部が受信した前記電子鍵を前記第1のハードウェアセキュリティモジュールに受け渡して前記第1の不揮発性記憶部に書き込ませ、
前記第1のプロセッサは、前記電子鍵を第1のマイクロコンピュータ間通信部を介して前記第2のマイクロコンピュータに転送し、前記電子鍵の第1の書き込み結果を前記第1のハードウェアセキュリティモジュールから取得し、
前記第2のプロセッサは、前記第2のマイクロコンピュータ間通信部を介して受信した前記電子鍵を、前記第2のハードウェアセキュリティモジュールに受け渡して前記第2の不揮発性記憶部に書き込ませ、前記電子鍵の第2の書き込み結果を前記第2のハードウェアセキュリティモジュールから取得して前記第2のマイクロコンピュータ間通信部を介して前記第1のマイクロコンピュータへ送信し、
前記第1のプロセッサは、前記第1の書き込み結果と前記第2の書き込み結果から電子鍵の書き込み結果を統合して外部へ送信することを特徴とする車載電子制御装置。
【請求項2】
請求項1に記載の車載電子制御装置であって、
前記第2のマイクロコンピュータは、
前記第2のマイクロコンピュータ間通信部を介して前記第1のマイクロコンピュータから受信した電子鍵を前記第2のハードウェアセキュリティモジュールに書き込ませることを特徴とする車載電子制御装置。
【請求項3】
請求項1に記載の車載電子制御装置であって、
前記第2のマイクロコンピュータは、前記第2のプロセッサに接続されて外部からの情報を受信する第2の通信部をさらに有し、
前記電子鍵は、所定の通信プロトコルで前記第1のマイクロコンピュータと前記第2のマイクロコンピュータへ伝達され、
前記第2のマイクロコンピュータは、
前記第2の通信部で受信した前記電子鍵を破棄することを特徴とする車載電子制御装置。
【請求項4】
請求項1に記載の車載電子制御装置であって、
前記第1のプロセッサは、
前記第1の書き込み結果と前記第2の書き込み結果が一致していること検証し、検証結果に応じて電子鍵の書き込み結果の成否を示す情報を外部へ送信することを特徴とする車載電子制御装置。
【請求項5】
請求項4に記載の車載電子制御装置であって、
前記電子鍵の書き込み結果の成否を示す情報は、
前記第1のマイクロコンピュータと前記第2のマイクロコンピュータの両方で書き込みが成功した場合には成功と判定し、いずれかが書き込みに失敗した場合には失敗と判定することを特徴とする車載電子制御装置。
【請求項6】
請求項1に記載の車載電子制御装置であって、
前記第2のマイクロコンピュータは、
前記第1のマイクロコンピュータから電子鍵を受信することをもって、前記電子鍵の書き込み許可とみなすことを特徴とする車載電子制御装置。
【請求項7】
請求項1に記載の車載電子制御装置であって、
前記第1のマイクロコンピュータは、
前記第2のマイクロコンピュータからの電子鍵の書き込み結果が、所定時間返信されない場合には前記第2のマイクロコンピュータでの電子鍵の書き込みが失敗したとみなすことを特徴とする車載電子制御装置。
【請求項8】
請求項1に記載の車載電子制御装置であって、
前記第1のマイクロコンピュータは、
前記第2のマイクロコンピュータとの間のマイクロコンピュータ間通信で前記電子鍵のチェックサム演算処理の結果を受信して通信が正常に行われたか否かの判定を行うことを特徴とする車載電子制御装置。
【請求項9】
請求項1に記載の車載電子制御装置であって、
前記第1のマイクロコンピュータは、
前記第2のマイクロコンピュータとのマイクロコンピュータ間通信で異常が発生した場合、マイクロコンピュータ間通信の異常の履歴を前記第1の記憶部へ保存することを特徴とする車載電子制御装置。
【請求項10】
請求項1に記載の車載電子制御装置であって、
前記第1のマイクロコンピュータは、
前記第2のマイクロコンピュータとの間のマイクロコンピュータ間通信に失敗した場合には、所定回数までマイクロコンピュータ間通信を再実行することを特徴とする車載電子制御装置。
【請求項11】
請求項1に記載の車載電子制御装置であって、
前記第1のマイクロコンピュータは、
前記第1のマイクロコンピュータと前記第2のマイクロコンピュータが電子鍵の書き込み処理中であることを示す信号を、所定の周期で外部へ送信することを特徴とする車載電子制御装置。
【請求項12】
請求項1に記載の車載電子制御装置であって、
前記第2のマイクロコンピュータを複数有し、
前記第1のマイクロコンピュータは、
複数の前記第2のマイクロコンピュータに電子鍵を転送することを特徴とする車載電子制御装置。
【請求項13】
請求項1に記載の車載電子制御装置であって、
前記電子鍵は、共通鍵暗号方式または非対称鍵暗号方式に対応することを特徴とする車載電子制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載電子制御装置の電子鍵の書き込みに関する。
【背景技術】
【0002】
ECU(Electronic Control Unit)などの車載電子制御装置は、マイクロコンピュータ(以下、マイコン)により制御されている。そのマイコンには様々な機能が割り当てられており、さらに各機能に対応した外部回路が設けられており、不揮発性メモリであるフラッシュROMに記憶されている制御用ソフトウェアによって対象の装置の制御を行う。自動車においては、例えば、エンジンの燃料噴射や点火を制御する。
【0003】
機能安全要求で定めるセーフティゴールによっては、システムの構成に高い冗長性が要求される場合があり、1つのECUの内部に複数のマイコンを搭載し、制御することで、冗長性を確保する方式がある。システムの例としては、例えば電動パワーステアリング制御ECUなどがある。
【0004】
サイバーセキュリティの観点においては、近年、コネクテッドの世代の車載ECUにおいて、車外からのセキュリティ脅威が増加傾向にあり、サイバーセキュリティに関する自動車規格が策定されている。国連の下部組織であるWP.29というフォーラムでは、2019年頃からセキュリティ法規発行に向けた議論が開始され、2020年6月に合意、2020年12月には発行へ至っている。
【0005】
WP.29では、例えば車載ECU間通信のメッセージ認証や、ソフトウェア更新における機器の認証、デジタル署名の検証、ソフトウェアの暗号化、システム起動時のセキュアブートの検証などが求められている。
【0006】
サイバーセキュリティ機能の要素技術である暗号技術においては、電子鍵(暗号鍵)の情報が重要であり、この電子鍵とデータを暗号アルゴリズムへの入力として、暗号演算を行う。使用する暗号方式の候補としては、「共通鍵暗号(対称暗号)」と「公開鍵暗号(非対称暗号)」がある。
【0007】
電子鍵のうち、特に共通鍵暗号においては、送信者と受信者の間で共通の鍵を用いるため、仮に第三者に共通鍵が漏れてしまうと、暗号文から平文を復号することができてしまい、その内容を知られてしまうことになる。言い換えると,共通鍵は秘密にしたい平文と同等の価値を持つため、車載ECUの内部で安全に管理する必要がある。
【0008】
公開鍵暗号に用いる電子鍵においては、電子鍵送信部などのデータ転送元クライアント側では秘密鍵を保持し、サーバ側となる車載ECUには公開鍵を保持する。公開鍵暗号方式の特性として、秘密鍵は共通鍵と同様に安全に管理する必要があるが、公開鍵はその限りではない。しかし、車載ECU内部の公開鍵が第三者に書き換えられることを防ぐ目的で、公開鍵においても共通鍵と同等の管理を行う場合がある。
【0009】
マイコンにはHSM(Hardware Security Module)が搭載されており、その内部でECUの電子鍵の安全な管理を行うことができる(例えば特許文献1)。登録する鍵のスロットには、電子鍵の種別に応じた割り当てを行い、予め定義したスロットへ電子鍵の初回書き込み及び更新を行う。
【0010】
書き込み方法としては、OBD(On-board Diagnostic)コネクタを介して有線で電子鍵送信部をECUへ接続し、CAN(Car Area Network)、Ethernet、LIN(Local Interconnect Network)、FlexRayなどの所定の通信プロトコルによって電子鍵が書き換え対象のECUへ送信される。ECUは、電子鍵の書き込み完了後、書き込み結果の信号を電子鍵送信部へ応答する必要がある。
【0011】
また、マイコンが外部から電子鍵を取得した後、HSMへ電子鍵書き込み処理を実行するまでは電子鍵を保持しておく必要があるが、セキュリティ要件で保持時間に制約がある場合があり、その場合には制約を考慮してシステム構成を検討する必要がある。
【先行技術文献】
【特許文献】
【0012】
【発明の概要】
【発明が解決しようとする課題】
【0013】
1つのECU内部に複数のマイコンを搭載する場合、同じ電子鍵であっても、それぞれのマイコンに対して電子鍵送信部から個別に電子鍵を送信し、データを受け取ったマイコンは電子鍵をHSMへ書き込み、書き込み結果成否を個別に応答すればよい。
【0014】
しかしながら、冗長系システムの構成によっては、外部通信機能を持たないマイコンがECU内部に存在する場合があり、外部通信機能を持たないマイコンでも電子鍵を利用する場合、従来の技術ではすべてのマイコンへ同一の電子鍵送信及び書き込み結果の応答ができないという問題があった。
【0015】
外部通信機能を持たないマイコンにおいて、CANなどの信号の送受信ともにできない場合と、外部からの受信はできるが送信はできない場合がある。したがって、直接電子鍵送信部と通信を行わない方式で、同一の電子鍵送信及び書き込み結果応答を行う必要がある。
【0016】
本発明は、上記課題を解決するためになされたものであり、複数のマイコンを含むECUシステムにおいて、外部通信機能を持たないマイコンを内部に有する場合であっても、電子鍵を利用するすべてのマイコンへ同一の電子鍵を書き込むことのできる車載電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明は、第1のマイクロコンピュータと第2のマイクロコンピュータを有する車載電子制御装置であって、前記第1のマイクロコンピュータで演算処理を行う第1のプロセッサと、前記第1のプロセッサに接続されて情報を記憶する第1の記憶部と、前記第1のプロセッサに接続されて外部と通信を行って電子鍵を受信する第1の通信部と、前記第1のプロセッサに接続されて前記電子鍵を保持する第1の不揮発性記憶部を含んで暗号処理を行う第1のハードウェアセキュリティモジュールと、前記第1のプロセッサに接続されて前記第2のマイクロコンピュータと通信を行う第1のマイクロコンピュータ間通信部と、前記第2のマイクロコンピュータで演算処理を行う第2のプロセッサと、前記第2のプロセッサに接続されて情報を記憶する第2の記憶部と、前記第2のプロセッサに接続されて前記第1のマイクロコンピュータと通信を行う第2のマイクロコンピュータ間通信部と、前記第2のプロセッサに接続されて前記電子鍵を保持する第2の不揮発性記憶部を含んで暗号処理を行う第2のハードウェアセキュリティモジュールと、を有し、前記第1のプロセッサは、前記第1の通信部が受信した前記電子鍵を前記第1のハードウェアセキュリティモジュールに受け渡して前記第1の不揮発性記憶部に書き込ませ、前記第1のプロセッサは、前記電子鍵を第1のマイクロコンピュータ間通信部を介して前記第2のマイクロコンピュータに転送し、前記電子鍵の第1の書き込み結果を前記第1のハードウェアセキュリティモジュールから取得し、前記第2のプロセッサは、前記第2のマイクロコンピュータ間通信部を介して受信した前記電子鍵を、前記第2のハードウェアセキュリティモジュールに受け渡して前記第2の不揮発性記憶部に書き込ませ、前記電子鍵の第2の書き込み結果を前記第2のハードウェアセキュリティモジュールから取得して前記第2のマイクロコンピュータ間通信部を介して前記第1のマイクロコンピュータへ送信し、前記第1のプロセッサは、前記第1の書き込み結果と前記第2の書き込み結果から電子鍵の書き込み結果を統合して外部へ送信する。
【発明の効果】
【0018】
本発明に係る車載電子制御装置は、外部通信機能を持たないマイクロコンピュータを内部に有する場合であっても、電子鍵送信部からの一度の電子鍵を含む信号の受信によって、同一の電子鍵を、電子鍵を利用するすべてのマイクロコンピュータへ書き込み、書き込み結果を電子鍵送信元へ一度の信号送信により通知することができる。
【0019】
電子鍵の書き込みにおいて、第1のマイクロコンピュータに対してのみ電子鍵の書き込みの信号送信を行えばよいため、それぞれのマイクロコンピュータへ個別に指示をする必要がなく、書き込み作業者は複数のマイクロコンピュータを有する車載電子制御装置(ECU)であっても、書き込み成否を一度に取得することができ、外部から見ると1つのECUであることにより、通信設計やマイクロコンピュータの構成の自由度も向上する。
【0020】
第2のマイコンはマイコン間通信で第1のマイクロコンピュータから電子鍵の情報を取得することで書き込みを開始するため、電子鍵だけを取得し、書き込み処理ができない時間が長時間経過するという問題がなく、電子鍵を保持する時間制約に関するセキュリティ条件を満足することができる。
【0021】
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
【図面の簡単な説明】
【0022】
【
図1】本発明の実施例1に係るマイコンを2つ搭載したECUのうち、第1マイコン通信部と電子鍵送信部が接続された場合のシステム構成を示す図である。
【
図2】本発明の実施例1に係る電子鍵の書き込み処理を示すフローチャートである。
【
図3】本発明の実施例1に係る第1マイコンの電子鍵の書き込み処理開始から完了までを詳述したフローチャートである。
【
図4】本発明の実施例1に係る第1マイコンから第2マイコンへのマイコン間通信を使用した電子鍵転送処理開始から完了までを詳述したフローチャートである。
【
図5】本発明の実施例1に係る第1マイコンの第2マイコンからの応答待機開始から完了までを詳述したフローチャートである。
【
図6】本発明の実施例1に係る第2マイコンの電子鍵の書き込み処理開始から完了までを詳述したフローチャートである。
【
図7】本発明の実施例1に係る第2マイコンから第1マイコンへのマイコン間通信を使用した電子鍵の書き込み結果転送処理の開始から完了までを詳述したフローチャートである。
【
図8】本発明の実施例2に係るマイコンを2つ搭載したECUのうち、第1マイコン通信部及び第2マイコン通信部と電子鍵送信部が接続された場合のシステム構成を示す図である。
【
図9】本発明の実施例3に係るマイコンを2つ搭載したECUと電子鍵送信部の間にデータ中継ECUが接続され、第1マイコン通信部と電子鍵送信部が接続された場合のシステム構成を示す図である。
【
図10】本発明の実施例4に係るマイコンを2つ搭載したECUと電子鍵送信部の間にデータ中継ECUが接続され、第1マイコン通信部及び第2マイコン通信部と電子鍵送信部が接続された場合のシステム構成を示す図である。
【発明を実施するための形態】
【0023】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
【実施例0024】
図1は、本発明の実施例1に係るECU(自動車用電子制御装置または車載電子制御装置)1の内部構成について示す図である。ECU1は第1マイコン2(マイクロコンピュータ)と第2マイコン2′を含む。第1マイコン2と第2マイコン2′は、ソフトウェアの演算処理を実施する少なくとも1つのホスト側CPU(Central Processing Unit)3、3′と少なくとも1つのセキュアCPU8と8′を含む。
【0025】
ホスト側CPU3、3′とは、例えば公知または周知のアプリケーションプログラム(ホスト用プログラム)を実行するCPUである。セキュアCPU8、8′(セキュリティ専用CPUであってもよい)は、例えばセキュリティプログラムを実行して、鍵(電子鍵)を利用したセキュリティ用の演算を行うCPUである。これらのCPUが各プログラムを実行することにより、第1マイコン2と第2マイコン2′は本明細書に記載される機能を実現する。
【0026】
第1マイコン2と第2マイコン2′は、記憶部として、ホスト側記憶領域及びセキュア記憶領域を含む。ホスト側記憶領域は、少なくとも1つの各ホスト側CPU3、3′専用のローカルRAM4、4′(ホスト側揮発性メモリ)を含む。
【0027】
セキュア記憶領域は、セキュアCPU8、8′専用のローカルRAM9、9′(セキュア揮発性メモリ)を含む。これらのRAMは、対応するCPUからしかアクセスできないように構成されている。
【0028】
ホスト側記憶領域は、ホスト側CPU3、3′が実行するプログラム(ホスト用プログラム)と、ホスト用プログラムで使用するデータを格納する第1マイコンホスト側不揮発性メモリ7と7′、ホスト側CPU3、3′及びセキュアCPU8、8′からそれぞれアクセスが可能な共有RAM5、5′(ホスト側揮発性メモリ)を含む。
【0029】
セキュア記憶領域は、セキュアCPU8、8′が実行するプログラム(セキュアプログラム、HSM(Hardware Security Module)ファームウェア)と、セキュアプログラムで使用するデータを格納するセキュア不揮発性メモリ10、10′を含む。セキュア不揮発性メモリ10、10′には、セキュアプログラムで使用する電子鍵を格納することができる。
【0030】
ホスト側CPUは、データバス兼ペリフェラルバス12、12′と接続されている。また、これらのバスとは切り離された形で、セキュアCPU8、8’のみが接続されるセキュアコア(HSM)専用のデータバス及びペリフェラルバス13、13′が設けられる。
【0031】
セキュア不揮発性メモリ10、10′には、セキュアCPU8、8′以外のコア(ホスト側CPU3、3′)からはアクセスができない構成となっている。すなわち、セキュアCPU8、8′は、セキュア記憶領域にアクセス可能であるが、ホスト側CPU3、3′は、セキュア記憶領域にアクセス可能ではない。
【0032】
セキュアCPUとセキュア記憶領域を有する装置をHSM20、20’と呼び、セキュア不揮発性メモリ内で電子鍵を安全に管理し、電子鍵を用いて暗号演算を行うことができる。なお、HSM20、20’は第1マイコン2及び第2マイコン2’の内部に配置される例を示すが、これに限定されるものではなく、第1マイコン2及び第2マイコン2’の外部に配置されて第1マイコン2及び第2マイコン2’のデータバス兼ペリフェラルバス12、12’に接続されていればよい。
【0033】
第1マイコン2、第2マイコン2′は、少なくとも1つの通信部6、6′を搭載している。この通信部6は、ECU1の外部にある、電子鍵送信部14へと接続され、電子鍵の書き込み時においては前記電子鍵送信部14との通信を行う。なお、第2マイコン2’の通信部6′は外部と接続されない。
【0034】
図2は、電子鍵の書き込み処理の一例を示すフローチャートである。電子鍵の書き込み処理において、ステップS1で電子鍵送信部(診断機)14より電子鍵の書き込み命令が送信されて、前記電子鍵の書き込み対象ECUが受信すると処理がスタートし、ステップS2へ移行する。
【0035】
ステップS2において、第1マイコン2は、電子鍵の書き込みデータを含む命令のうち、CANなどの通信プロトコルで定められるメッセージ識別子がそれぞれの受信許可対象となっているかを判定する。第2マイコン2’も外部受信可能である場合には、同様の判定を実施してもよい。受信許可の場合には、ステップS4へ移行し、受信不許可の場合にはステップS3へ移行する。
【0036】
ステップS3において、受信不許可の判定後であるため、第1マイコン2及び第2マイコン2’は受信した電子鍵の書き込みデータを破棄し、ステップS14へ移行する。
【0037】
ステップS4において、受信許可の判定後であるため、第1マイコン2は電子鍵の書き込み処理を開始し、書き込み完了後にステップS5へ移行する。
【0038】
ステップS5において、第1マイコン2はステップS4の書き込みが正常に完了したか否かを判定する。書き込みが正常に完了した場合、ステップS6へ移行する。書き込みが失敗した場合には、ステップS13へ移行する。
【0039】
ステップS6において、第1マイコン2での電子鍵の書き込みが正常に完了した後のため、第2マイコン2’への電子鍵を書き込みへ移行するべく、マイコン間通信を使用して、第1マイコン2が第2マイコン2’への電子鍵の転送を開始する。
【0040】
ステップS7において、第1マイコン2は第2マイコン2’への電子鍵の転送が正常に完了したか否かを判定する。転送処理が正常に完了した場合、ステップS8へ移行する。転送処理が失敗もしくは異常終了した場合には、ステップS13へ移行する。
【0041】
ステップS8において、第1マイコン2から第2マイコン2’へ電子鍵の転送が正常に完了後のため、第1マイコン2は第2マイコン2’からの応答待機を開始する。
【0042】
ステップS9において、マイコン間通信を経由して、第2マイコン2’が第1マイコン2から電子鍵を受信すると、第2マイコン2’は電子鍵の書き込み処理を開始し、書き込み完了後にステップS10へ移行する。
【0043】
ステップS10において、第2マイコン2’はマイコン間通信を使用して電子鍵の書き込み処理の結果成否を第1マイコン2へ転送開始し、ステップS11へ移行する。
【0044】
ステップS11において、第1マイコン2はマイコン間通信を経由して第2マイコン2’の書き込み結果成否を受信し、第2マイコン2’での書き込み成功の場合にはステップS12へ移行する。
【0045】
第2マイコン2’での書き込みが失敗した場合には、ステップS13へ移行する。また、ステップS8にて開始した応答待機処理について、所定期間内に第1マイコン2が第2マイコン2’からの書き込み結果成否を受信できなかった場合には、第2マイコン2’での書き込み失敗またはマイコン間の通信異常とみなし、ステップS13へ移行する。
【0046】
ステップS12において、第1マイコン2は第1マイコン2及び第2マイコン2’の書き込み結果情報が一致しており、成功であることを検証した上で、第1マイコン2及び第2マイコン2’への電子鍵の書き込みが成功である肯定応答を示す信号を診断機へ送信し、ステップS14へ移行する。
【0047】
ステップS13において、第1マイコン2は電子鍵の書き込み対象ECU内の第1マイコン2または第2マイコン2’への電子鍵の書き込み失敗である否定応答を示す信号を診断機へ送信し、ステップS14へ移行する。
【0048】
ステップS14において、電子鍵の書き込み処理を終了する。このとき、書き込み作業者は、第1マイコン2と、第2マイコン2’の書き込みの成否を一度に取得することができる。
【0049】
図3は、
図2におけるステップS4の第1マイコン2での電子鍵の書き込み処理開始から完了までを詳述したフローチャートである。
【0050】
ステップS100において、第1マイコンホスト側CPU3が電子鍵の書き込み処理を開始し、ステップS101へ移行する。このとき、電子鍵はホスト側ローカルRAM4で保持される。
【0051】
ステップS101において、第1マイコンホスト側CPU3は受信した電子鍵の構造が予め定義された通りであるかを判定し、判定結果が正常であればステップS102へ移行する。判定結果が異常であれば、ステップS107へ移行する。このとき、第1マイコンホスト側CPU3が判定する条件は、例えば、受信データ長が定義通りであるか、電子鍵の書き込みの命令識別子が定義通りであるか、などがある。
【0052】
ステップS102において、第1マイコンホスト側CPU3は電子鍵の書き込み対象となるセキュアCPU8へ書き込み命令を実行可能であるかを判定し、判定結果が正常であればステップS103へ移行する。判定結果が異常であれば、ステップS107へ移行する。このとき第1マイコンホスト側CPU3が判定する条件は、例えば、セキュアCPU8は有効であるか、セキュアCPU8が現在別の処理を実行中ではなく新たに命令を受領可能であるか、セキュアCPU8が故障情報を残していないか、などがある。
【0053】
ステップS103において、第1マイコンホスト側CPU3は共有RAM5を介してセキュアCPU8へ電子鍵の書き込み命令を実行する。セキュアCPU8は、共有RAM5から電子鍵及び書き込み命令を受領し、セキュア不揮発性メモリ10に対して電子鍵の書き込み処理を実行し、共有RAM5を介して書き込み結果成否を示す情報を第1マイコンホスト側CPU3へ返答する。その後、ステップS104へ移行する。
【0054】
ステップS104において、第1マイコンホスト側CPU3はセキュアCPU8へ電子鍵の書き込み命令を実行した後に、診断機に対して現在電子鍵の書き込み中であることを示す信号の送信を開始し、ステップS105へ移行する。
【0055】
この信号は第1マイコン2及び第2マイコン2’での書き込みが完了するまでは定期的(所定の周期)に送信され、第1マイコン2が定期送信停止をするまで継続的に送信される。これにより、診断機が書き込み命令の送信後からの時間経過によって書き込み失敗と判断することを防止できる。
【0056】
ステップS105において、第1マイコンホスト側CPU3は、ステップS103の処理が完了したときにセキュアCPU8から共有RAM5を介して第1マイコンホスト側CPU3へ返答された書き込み結果成否を示す情報を基に、電子鍵の書き込みが成功したか否かを判定する。成功であった場合には、ステップS106へ移行する。失敗であった場合には、ステップS107へ移行する。
【0057】
ステップS106において、第1マイコンホスト側CPU3は自身のプログラムによって第1マイコン2における電子鍵の書き込みが正常に完了したことを示す情報を保持し、ステップS108へ移行する。
【0058】
ステップS107において、第1マイコンホスト側CPU3は自身のプログラムによって第1マイコンにおける電子鍵の書き込み異常完了情報を保持し、ステップS108へ移行する。
【0059】
ステップS108において、第1マイコン2は電子鍵の書き込み処理を終了する。
【0060】
図4は、
図2におけるステップS6の第1マイコン2から第2マイコン2’への電子鍵の転送の処理開始から完了までを詳述したフローチャートである。
【0061】
ステップS200において、第1マイコン2は、マイコン間通信を使用して、第2マイコン2’へ診断機から受信した電子鍵の転送処理を開始し、ステップS201へ移行する。
【0062】
ステップS201において、第1マイコン2は、マイコン間通信の状態を監視し、第2マイコン2’への電子鍵の転送が完了したかを判定する。完了の場合には、マイコン間通信の状態監視を終了し、ステップS203へ移行する。未完了の場合には、マイコン間通信の状態監視を継続する。
【0063】
ステップS203において、第1マイコン2は第2マイコン2’への電子鍵の転送処理の成否を判定する。成功であった場合には、ステップS206へ移行する。失敗であった場合には、ステップS204へ移行する。
【0064】
ステップS204において、第1マイコン2は第2マイコン2’への電子鍵の転送処理の失敗回数が、所定回数より大きいか否かを判定する。所定回数より多かった場合には、ステップS205へ移行する。所定回数以下であった場合には、ステップS202へ移行する。
【0065】
ステップS202において、第1マイコン2は、第2マイコン2’への電子鍵の転送処理のリトライ処理を実施する。暫定的なマイコン間通信異常が発生した場合、本ステップ及びステップS202により正常復帰する可能性があるため、第1マイコン2は所定回数リトライ処理を実行する。
【0066】
ステップS205において、第1マイコン2は、第2マイコン2’とのマイコン間通信に異常があることを示す故障履歴を第1マイコンホスト側の不揮発性メモリ7へ保存し、ステップS207へ移行する。このとき、第1マイコン2は、マイコン間通信の異常と共に、第2マイコン2’への電子鍵の書き込み処理が失敗であることを判断できる。
【0067】
ステップS206において、第1マイコンホスト側CPU3は自身のプログラムによって第1マイコン2から第2マイコン2’への電子鍵の転送処理が正常に完了したことを示す情報を保持し、ステップS208へ移行する。
【0068】
ステップS207において、第1マイコンホスト側CPU3は自身のプログラムによって第1マイコン2から第2マイコン2’への電子鍵の転送処理に異常が生じたことを示す完了情報を保持し、ステップS208へ移行する。
【0069】
ステップS208において、第1マイコン2は、マイコン間通信を使用した第2マイコン2’への電子鍵の転送処理を終了する。
【0070】
図5は、
図2におけるステップS8の第1マイコン2における第2マイコン2’からの電子鍵の書き込み結果応答待機処理の開始から完了までを詳述したフローチャートである。
【0071】
ステップS300において、第1マイコン2は、マイコン間通信の受信状態の監視による第2マイコン2’からの電子鍵の書き込み完了応答待機処理を開始し、ステップS301に移行する。
【0072】
ステップS301において、第1マイコン2はマイコン間通信を監視することで、第2マイコン2’からの書き込み結果データの受信が開始したかを判定する。受信開始の場合、ステップS303へ移行する。未受信の場合、ステップS302へ移行する。
【0073】
ステップS302において、第1マイコン2は、第2マイコン2’への電子鍵の転送完了を第2マイコン2’における電子鍵の書き込み開始とし、経過時間が所定時間より大きいかを判定する。
【0074】
第1マイコン2は、所定時間を超過した場合、ステップS304へ移行する。経過時間が所定期間以内である場合、ステップS301における判定処理を継続する。本ステップにより、第2マイコン2’の異常で書き込み失敗の回答ができない場合において、書き込み作業者が長時間、待たされることを防止できる。
【0075】
ステップS303において、第1マイコン2は、マイコン間通信により受信した第2マイコン2’からの電子鍵の書き込み結果転送データを正しく受信できたかを検出するために、チェックサムの演算結果が正常であるかを判定する。第1マイコン2は、チェックサムの演算結果が正常であった場合には、ステップS305へ移行する。異常であった場合には、ステップS304へ移行する。
【0076】
ステップS304において、第1マイコン2は、第2マイコン2’とのマイコン間通信に異常があることを示す故障履歴を第1マイコンホスト側不揮発性メモリ7へ保存し、ステップS306へ移行する。このとき、第1マイコン2は、マイコン間通信の異常と共に、第2マイコン2’への電子鍵の書き込み処理が失敗であることを判断できる。
【0077】
ステップS305において、第1マイコンホスト側CPU3は自身のプログラムによって第2マイコン2’から第1マイコン2への電子鍵の書き込み結果のデータ転送処理が正常に完了したことを示す情報を保持し、ステップS308へ移行する。
【0078】
ステップS306において、第1マイコンホスト側CPU3は自身のプログラムによって第2マイコン2’から第1マイコン2への電子鍵の書き込み結果のデータ転送処理に異常が発生したことを示す完了情報を保持し、ステップS307へ移行する。
【0079】
ステップS307において、第1マイコン2は
図3のステップS104にて開始した、診断機への電子鍵の書き込み中であることを示す信号の送信を停止し、ステップS308へ移行する。
【0080】
ステップS308において、第1マイコン2は第2マイコン2’からの電子鍵の書き込み結果の応答待機処理を終了する。
【0081】
図6は、
図2におけるステップS9の第2マイコン2’での電子鍵の書き込み処理の開始から完了までを詳述したフローチャートである。
【0082】
ステップS400において、第2マイコン2’は、第1マイコン2から電子鍵を受信することをもって、第2マイコン2’の電子鍵の書き込み許可とみなし、第2マイコンホスト側CPU3′が電子鍵の書き込み処理を開始し、ステップS401へ移行する。このとき、電子鍵はホスト側ローカルRAM4′で保持される。本ステップにより、第2マイコン2’は、第1マイコン2から特別に書き込み許可信号を送受信することなく、書き込み処理を開始することができる。
【0083】
ステップS401において、第2マイコンホスト側CPU3′は受信した電子鍵の構造が予め定義された通りであるかを判定し、判定結果が正常であればステップS402へ移行する。判定結果が異常であれば、ステップS406へ移行する。このとき第2マイコンホスト側CPU3′が判定する条件は、例えば、受信データ長が定義通りであるか、電子鍵の書き込みの命令識別子が定義通りであるか、などがある。
【0084】
ステップS402において、第2マイコンホスト側CPU3′は電子鍵の書き込み対象となるセキュアCPU8′へ書き込み命令を実行可能であるかを判定し、判定結果が正常であればステップS403へ移行する。判定結果が異常であれば、ステップS406へ移行する。このとき第2マイコンホスト側CPU3′が判定する条件は、例えば、セキュアCPU8′は有効であるか、セキュアCPU8′が現在別の処理を実行中でなく新たに命令を受領可能であるか、セキュアCPU8′が故障情報を残していないか、などがある。
【0085】
ステップS403において、第2マイコンホスト側CPU3′は共有RAM5′を介してセキュアCPU8′へ電子鍵の書き込み命令を実行する。セキュアCPU8′は、共有RAM5から電子鍵及び書き込み命令を受領し、セキュア不揮発性メモリ10′に対して電子鍵の書き込み処理を実行し、共有RAM5′を介して書き込み結果の成否を示す情報を第2マイコンホスト側CPU3′へ返答する。その後、ステップS404へ移行する。
【0086】
ステップS404において、第2マイコンホスト側CPU3′は、ステップS403の完了時にセキュアCPU8′から共有RAM5′を介して第2マイコンホスト側CPU3′へ返答された書き込み結果の成否を示す情報を基に、電子鍵の書き込みが成功したか否かを判定する。成功であった場合には、ステップS405へ移行する。失敗であった場合には、ステップS406へ移行する。
【0087】
ステップS405において、第2マイコンホスト側CPU3′は自身のプログラムによって第2マイコン2’における電子鍵の書き込みが正常に完了したことを示す情報を保持し、ステップS407へ移行する。
【0088】
ステップS406において、第2マイコンホスト側CPU3′は自身のプログラムによって第2マイコン2’における電子鍵の書き込みに異常が発生したことを示す完了情報を保持し、ステップS407へ移行する。
【0089】
ステップS407において、第2マイコン2’は電子鍵の書き込み処理を終了する。
【0090】
図7は、
図2におけるステップS10の第2マイコン2’から第1マイコン2への電子鍵の書き込み結果データの転送処理の開始から完了までを詳述したフローチャートである。
【0091】
ステップS500において、第2マイコン2’は、マイコン間通信を使用して、第1マイコン2への電子鍵の書き込み結果データの転送処理を開始し、ステップS501へ移行する。
【0092】
ステップS501において、第2マイコン2’は、マイコン間通信の状態を監視し、第1マイコン2への電子鍵の書き込み結果データの転送が完了したかを判定する。完了の場合には、マイコン間通信の状態監視を終了し、ステップS503へ移行する。未完了の場合には、マイコン間通信の状態監視を継続する。
【0093】
ステップS503において、第2マイコン2’は、第1マイコン2への電子鍵の書き込み結果データの転送処理の成否を判定する。成功であった場合には、ステップS505へ移行する。失敗であった場合には、ステップS504へ移行する。
【0094】
ステップS504において、第2マイコン2’は第1マイコン2への電子鍵の書き込み結果データの転送処理の失敗回数が、所定回数より大きいか否かを判定する。第2マイコン2’は所定回数より多かった場合には、ステップS506へ移行する。所定回数以下であった場合には、ステップS502へ移行する。
【0095】
ステップS502において、第2マイコン2’は、第1マイコン2への電子鍵の転送処理のリトライ処理を実施する。暫定的なマイコン間通信異常が発生した場合、本ステップ及びステップS502により正常復帰する可能性があるため、所定回数までリトライ処理を実行する。
【0096】
ステップS505において、第2マイコンホスト側CPU3′は自身のプログラムによって第2マイコン2’から第1マイコン2への電子鍵の書き込み結果データの転送処理が正常に完了したことを示す情報を保持し、ステップS507へ移行する。
【0097】
ステップS506において、第2マイコンホスト側CPU3′は自身のプログラムによって第2マイコン2’から第1マイコン2への電子鍵の転送処理に異常が発生したことを示す完了情報を保持し、ステップS507へ移行する。
【0098】
ステップS507において、第2マイコン2’は、マイコン間通信を使用した第1マイコン2への電子鍵の書き込み結果データの転送処理を終了する。
【0099】
本実施例の構成において、電子鍵の用途としては、例えば、第1マイコン2及び第2マイコン2’それぞれのソフトウェア書き換え時のデジタル署名の検証演算やシステム起動時のセキュアブート演算などがある。
【0100】
このように、外部通信機能を持たない第2マイコン2’がECU1内に存在する場合であっても、本発明を適用することによって、第1マイコン2を経由して第2マイコン2’へ電子鍵を書き込み、結果の成否を検出し、電子鍵を暗号演算に使用することが可能である。以上を第1の実施例とする。
電子鍵の書き込み時においては、通信部6が前記電子鍵送信部14との通信を行い、通信部6′で受信する電子鍵は第2マイコン2’内で破棄する。これは、第2マイコン2’内で電子鍵を保持する時間を短縮し、セキュリティ条件(電子鍵の保持時間の制約)を満足するためであり、本発明を適用する構成では、第2マイコン2’では直接外部から電子鍵受信をせず、第1マイコン2からのマイコン間通信で電子鍵が転送されて書き込む。
本実施例のシステム構成において、制御による出力値を第1マイコン2と第2マイコン2’へ特定の比率で割り当て、冗長性を確保することが特徴となる場合がある。例えば、電動パワーステアリングの制御用ECUでは、ECUが制御モータへ出力するトルク制御値を第1マイコン2と第2マイコン2’へ50対50などの比率で割り当て、片方のマイコンが故障した場合であっても、車両が走行持続可能であることを保証する。
このとき、第2マイコン2’の通信部6′が通信部6と同様に外部からの信号受信のみが可能であるが、これは、車両内に搭載される別の車載電子制御装置から車速情報などの信号を受信し、車載電子制御装置におけるリアルタイム制御を実現するためである。車速情報などの信号にはメッセージ認証子などが付与される場合があり、電子鍵は第1の実施例の用途に加え、メッセージ認証演算などに用いられる。
このように、第2マイコン2’の通信部6′が信号の受信のみを行う必要があるシステム構成であっても、本発明を適用することによって、第1マイコン2を経由して第2マイコン2’へ電子鍵を書き込み、結果の成否を検出し、電子鍵を暗号演算に使用することが可能である。以上を第2の実施例とする。