JP7373366B2 - 電子制御装置、演算方法 - Google Patents

電子制御装置、演算方法 Download PDF

Info

Publication number
JP7373366B2
JP7373366B2 JP2019208977A JP2019208977A JP7373366B2 JP 7373366 B2 JP7373366 B2 JP 7373366B2 JP 2019208977 A JP2019208977 A JP 2019208977A JP 2019208977 A JP2019208977 A JP 2019208977A JP 7373366 B2 JP7373366 B2 JP 7373366B2
Authority
JP
Japan
Prior art keywords
transfer
processing unit
unit
communication data
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019208977A
Other languages
English (en)
Other versions
JP2021082002A (ja
Inventor
桃伽 粕谷
裕紀 山▲崎▼
伸義 森田
周平 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2019208977A priority Critical patent/JP7373366B2/ja
Priority to PCT/JP2020/041785 priority patent/WO2021100527A1/ja
Priority to CN202080079938.0A priority patent/CN114746310A/zh
Priority to US17/777,398 priority patent/US20220405226A1/en
Publication of JP2021082002A publication Critical patent/JP2021082002A/ja
Application granted granted Critical
Publication of JP7373366B2 publication Critical patent/JP7373366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Description

本発明は、電子制御装置および演算方法に関する。
車載ネットワークがインターネットや無線LANなどの外部ネットワークに接続され、ユーザーの利便性が向上した反面、車外からのサイバー攻撃によって電子制御装置が乗っ取られる危険性が指摘されている。そのため、自動車が安全であることを証明するために、自動車の起動時に、自動車内のプログラムが改竄されないことを確認した上で、機能を動作させることが望まれる。また、ユーザーの利便性の観点から早期に機能を稼動させることが望まれている。プログラムの安全性を検証する方法として、事前に作成された署名値と現在のプログラムから作成した署名値が一致するか比較する方法が一般的に知られ、安全性を検証した上でプログラムを起動させる方法はセキュアブートと呼ばれる。このセキュアブートを行うことにより、従前よりも起動に長い時間を要することが避けられない。特許文献1には、コンピューターが、システムのプログラム起動毎に、前記プログラムを複数に区分した部分プログラムのうち、ハッシュ値の検証対象となる異なる部分プログラムを選択する選択工程と、前記選択した部分プログラムのハッシュ値を算出する算出工程と、前記算出したハッシュ値が、複数の前記部分プログラムそれぞれの正解のハッシュ値である正解部分ハッシュ値と一致するか否か判定し、一致する場合に前記システムの起動処理を継続し、一致しない場合に前記システムの起動処理を中断する検証工程と、を実行することを特徴とするセキュアブート方法が開示されている。
特開2015-022521号公報
特許文献1に記載されている発明では、起動処理が完了する前は通信データを処理できない。
本発明の第1の態様による電子制御装置は、第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、前記転送制御部は、前記転送情報を自ら書き換えることにより前記通信データの転送先を変更する、または前記第2処理部により前記転送情報が書き換えられることにより前記通信データの転送先が変更される
本発明の第2の態様による電子制御装置は、第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、前記第2処理部は、改竄を検出する第2セキュリティ検証部を備え、前記第2処理部の前記起動処理は、第1起動処理と第2起動処理とから構成され、前記第1起動処理では、前記第2セキュリティ検証部が前記転送情報を書き換える出力先設定部を実現するプログラム実現データ、および前記第2処理部を前記通信データの転送先としない旨の情報である初期情報の改竄を検出し、前記出力先設定部が前記初期情報を前記転送記憶部に書き込む。
本発明の第3の態様による電子制御装置は、第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、前記第2処理部の前記起動処理は、第1起動処理と第2起動処理とから構成され、前記第1起動処理では、前記第2処理部が読み出し専用領域から、前記転送情報を書き換える出力先設定部を実現するプログラム実現データ、および前記第2処理部を前記通信データの転送先としない旨の情報である初期情報を読み出し、前記出力先設定部が前記初期情報を前記転送記憶部に書き込む。
本発明の第4の態様による電子制御装置は、第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、前記第1処理部および前記転送制御部はデータ転送部に含まれ、前記第2処理部は前記データ転送部に接続され、前記データ転送部はデータリンク層またはネットワーク層におけるスイッチであり、前記転送制御部はスイッチコアであり、前記第1処理部は前記スイッチの内部プロセッサであり、前記第2処理部は前記スイッチに接続されたマイコンである。
本発明の第5の態様による電子制御装置は、第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、前記第2処理部および前記転送制御部はデータ転送部に含まれ、前記第1処理部は前記データ転送部に接続され、前記データ転送部はデータリンク層またはネットワーク層におけるスイッチであり、前記転送制御部はスイッチコアであり、前記第2処理部は前記スイッチの内部プロセッサであり、前記第1処理部は前記スイッチに接続されたマイコンである。
本発明の第6の態様による演算方法は、第1処理部、第2処理部、および転送制御部を備える電子制御装置が実行する演算方法であって、前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能であり、前記第1処理部が、前記転送制御部から転送される前記通信データを処理することと、前記第2処理部は、前記転送制御部から転送される前記通信データを処理することと、前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とすることとを含み、前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、前記転送制御部は、前記転送情報を自ら書き換えることにより前記通信データの転送先を変更する、または前記第2処理部により前記転送情報が書き換えられることにより前記通信データの転送先が変更される。
本発明によれば、起動処理が完了する前でも受信した通信データを処理できる。
第1の実施の形態における電子制御装置の構成図 第1の実施の形態における電子制御装置のシーケンス図 内部処理部の処理を示すフローチャート 転送情報の例を示す図 転送更新情報の一例を示す図 内部ルート情報の一例を示す図 外部ルート情報の一例を示す図 第2の実施の形態における電子制御装置の構成図 第2の実施の形態における電子制御装置のシーケンス図 第2の実施の形態における内部処理部の処理を示すフローチャート 第3の実施の形態における電子制御装置の構成図 第3の実施の形態における電子制御装置のシーケンス図 第4の実施の形態における電子制御装置の構成図 第4の実施の形態における電子制御装置のシーケンス図
―第1の実施の形態―
以下、図1~図7を参照して、電子制御装置の第1の実施の形態を説明する。
図1は、第1の実施の形態における電子制御装置10の構成図である。電子制御装置10はデータ転送部100と外部処理部200とを備える。データ転送部100は転送制御部110と内部処理部120を備える。転送制御部110は通信部111、転送情報制御部112、および転送記憶部113を備える。転送記憶部113には転送情報114が格納される。また、内部処理部120は、内部制御部121、内部セキュリティ検証部122、出力先設定部123、および内部記憶部124を備える。内部記憶部124には、内部ルート情報125、初期情報126、および転送更新情報127が格納される。
外部処理部200は、外部制御部210、外部セキュリティ検証部220、および外部記憶部230を備える。外部記憶部230には外部ルート情報231が格納される。なお以下では、外部処理部200を「第1処理部」と呼ぶことがあり、外部セキュリティ検証部220を「第1セキュリティ検証部」と呼ぶことがある。また内部処理部120を「第2処理部」と呼ぶことがあり、内部セキュリティ検証部122を「第2セキュリティ検証部」と呼ぶことがある。
電子制御装置10は、内部制御部121、出力先設定部123、および外部制御部210を、次のように実現する。すなわち電子制御装置10は、不図示の中央演算装置であるCPUが、不図示の書き換え可能な記憶領域に記録されたプログラムを不図示のRAM(Random Access Memory)に展開して実行することにより、内部制御部121、出力先設定部123、および外部制御部210を実現する。このことは、内部制御部121、出力先設定部123、および外部制御部210は、第三者により改竄される可能性が存在することを意味する。そのため第1セキュリティ検証部や第2セキュリティ検証部を用いて、これらの機能ブロックを実現するプログラムを起動前に確認する必要がある。
電子制御装置10は、転送制御部110が備える不図示の複数の通信ポートを介して通信バス2、3、4と接続している。また、通信バス2は第2装置20に接続され、通信バス3は第3装置30に接続され、通信バス4は第4装置40に接続される。以下では、第2装置20、第3装置30、および第4装置40をまとめて「各装置」と呼ぶことがある。
ここで、電子制御装置10の各機能構成を説明する前に、電子制御装置10の想定される接続構成を説明する。電子制御装置10は、データリンク層またはネットワーク層におけるスイッチ、いわゆるL2スイッチまたはL3スイッチである。第2装置20、第3装置30、および第4装置40は、ある1台の車両に搭載されるECU(Electronic Control Unit;電子制御装置)またはゲートウェイ装置である。通信バス2、3、4の通信規格は特に限定されないが、たとえばCAN(登録商標)、LIN(登録商標)、およびIEEE802.3などを用いることができる。通信バスは第2装置20だけではなく、その他の電子制御装置に接続され、バス型やスター型のネットワークを構築してもよい。以下では、一例として通信バス2、3、4にIEEE802.3が利用されているものとして説明する。
本実施の形態では、各装置が通信バスに出力するディジタル信号を「通信データ」と呼ぶ。通信データの具体的な名称は通信プロトコルにより異なるが、たとえばフレーム、データグラム、パケットなどが通信データに相当する。
次に、図1に示した電子制御装置10の各機能を説明する。電子制御装置10は、第2装置20、第3装置30、および第4装置40から送信された通信データを適切な装置に転送する機能を有する。以下に説明するように、転送制御部110、内部処理部120、および外部処理部200のいずれが通信データの転送における主たる役割を担うかは、状況や通信データの内容により異なる。
転送制御部110は、通信部111、転送情報制御部112、および転送記憶部113を備える。転送制御部110は、ある通信ポートにおいて受信した通信データを他の通信ポートに転送する。ただし転送先の通信ポートの決定は、転送制御部110が行う場合もあるが、内部処理部120や外部処理部200が行う場合もある。通信部111および転送情報制御部112はハードウエア回路で構成されており、改竄の危険性がない。内部処理部120や外部処理部200とは異なり、起動時に通信部111および転送情報制御部112の安全性を確認する必要がない。
通信部111は、第2装置20、第3装置30、第4装置40、内部処理部120、および外部処理部200からの通信データを送受信する。受信した通信データの転送先は転送情報制御部112から指示される。転送情報制御部112は、通信部111で受信した通信データの転送先を転送情報114を参照して決定し、通信部111に受信した通信データの転送先を指示する。転送記憶部113は、揮発性または不揮発性の記憶領域である。
転送情報114は、受信した通信データの転送先に関するデータが格納されている。後述するように、転送情報114は内部処理部120の出力先設定部123により書き換えられる。本実施の形態における転送先は、内部処理部120、外部処理部200、第2装置20、第3装置30、および第4装置40がある。転送情報114のデータ構造は、後に図4を参照して説明する。
内部処理部120は、受信した通信データの転送先を書き換える機能を有する。たとえば内部処理部120は、スイッチの内部プロセッサ上に実装される。内部制御部121、および出力先設定部123は、不揮発性の記憶領域、たとえば内部記憶部124に格納されたプログラムをCPUがRAMに展開して実行することにより実現される。内部セキュリティ検証部122はハードウエア回路により実現、またはROMやOTP(One Time Program)領域などの書換え不可能な領域に格納されたプログラムをRAMに読み込むことにより実現される。
内部制御部121は、内部ルート情報125に基づいて、受信した通信データの通信ヘッダに記載されている転送先を書き換え、転送制御部110に通信データを送信する。
内部セキュリティ検証部122は、内部処理部120に保存されているプログラムやデータが改竄されていないことを確認する機能を有する。なお内部処理部120のプログラムやデータは、プログラムの起動前やデータの読み込み前に内部セキュリティ検証部122で改竄の有無が確認され、安全性が確認された後に用いられる。内部セキュリティ検証部122はたとえば、内部制御部121を実現するためのプログラムのハッシュ値を計算し、その署名値が予め記録されている値と一致する場合には改竄なしと判断し、ハッシュ値が一致しない場合には改竄ありと判断する。ただし、事前に作成されたハッシュ値はHSM(Hardware Security Module)のような読み出し専用メモリに格納する必要がある。
出力先設定部123は転送制御部110の転送記憶部113への書き込みを行い、転送情報114の作成および更新を行う。転送情報114の作成及び更新には、内部記憶部124に格納される初期情報126および転送更新情報127が用いられる。内部記憶部124は、揮発性、または不揮発性の記憶領域である。内部記憶部124が揮発性の場合には、不図示の不揮発性の記憶領域に格納される内部ルート情報125、初期情報126、および転送更新情報127が電子制御装置10の起動の際に内部記憶部124に読み込まれる。
内部ルート情報125は、内部制御部121により通信データの転送先の書換えに用いられる。初期情報126は、通信データの転送先に関する情報である。初期情報126は、出力先設定部123を通じて転送記憶部113に書き込まれる。これにより後述するように転送情報114が作成される。初期情報126は、転送情報114と同じデータ構造をとる。転送更新情報127は、通信データの転送先の書換えに必要なデータが格納されており、転送情報114の更新に用いられる。
外部処理部200は、内部処理部120と同様に、受信した通信データの転送先を書き換える。外部処理部200はマイコン上に実装され、内部処理部120と比較すると小規模である。そのため外部処理部200は内部処理部120に比べて処理能力は低いが内部処理部120よりも早く起動処理が完了する。外部制御部210は、外部ルート情報231に基づいて、受信した通信データの通信ヘッダに記載されている転送先を書換え、転送制御部110に通信データを送信する。
外部セキュリティ検証部220は、内部セキュリティ検証部122と同様の機能をもち、外部処理部200に保存されているプログラムやデータが改竄されていないことを確認する機能を有する。なお以下では、外部セキュリティ検証部220や内部セキュリティ検証部122がプログラムおよびデータの改竄がされていないことを確認して使用可能な状態にすることを「セキュアブート」とも呼ぶ。外部ルート情報231は、受信した通信データの転送先の書換えに必要な情報である。外部ルート情報231は、内部ルート情報125と同様の構造を有する。
図2は電子制御装置10の処理の流れを説明するシーケンス図である。図2で示す処理は電子制御装置10で実行されるものである。内部処理部120の起動処理は2段階に分かれており、前半を「第1起動処理」と呼び、後半を「第2起動処理」と呼ぶ。まず、ステップS300では、電子制御装置10の電源がオンにされ、内部処理部120、外部処理部200、および転送制御部110に電気が供給される。なお図2の左端には、電子制御装置10が通信データを処理する処理能力の時系列変化を示している。この処理能力は、図示横方向の幅が広いほど処理能力が高いことを示している。
ステップS301では、外部セキュリティ検証部220が、外部処理部200のプログラムやデータが改竄されていないか検証する。外部セキュリティ検証部220による検証が完了すると、外部処理部200はステップS302に移行し、プログラムを起動させることで、通信データの転送処理が可能な状態、すなわちルーティング受付状態に遷移する。ルーティング受付状態では、通信データを受信すると、外部制御部210が外部ルート情報231に基づいて、通信ヘッダの転送先を書き換えて転送制御部110の通信部111に送信することで、通信データを他の装置へ転送させる。
内部処理部120の第1起動処理であるステップS303では、内部処理部120の全体ではなく、転送制御部110の転送情報114の設定に関するプログラムやデータを内部セキュリティ検証部122で安全性検証をして起動させる。具体的には、内部処理部120の出力先設定部123と初期情報126をセキュアブートさせる。内部処理部120は、出力先設定部123および初期情報126が使用可能になると、ステップS304に進む。
ステップS304では、出力先設定部123が初期情報126を転送制御部110の転送記憶部113に書き込みを行い、転送情報114を生成する。ステップS304で生成される転送情報114は、転送先の1つに外部処理部200が設定されており、転送制御部110で受信した通信データを外部処理部200に転送できるようになる。外部処理部200はルーティング受付状態であることから、ルーティング機能を稼動させる。なおステップS304で生成される転送情報114では、転送先に内部処理部120は含まれない。
内部処理部120は、出力先設定部123による転送記憶部113への書き込みが終了するとステップS305に進む。内部処理部120の第2起動処理であるステップS305では内部セキュリティ検証部122は、前述のステップS303でセキュアブートしなかった残りのプログラムおよびデータを対象として、セキュアブートを行う。具体的には、内部セキュリティ検証部122は内部制御部121、内部ルート情報125、転送更新情報127を対象としてセキュアブートを行う。これらのセキュアブートが完了するとステップS306に進む。
内部処理部120はステップS306では、出力先設定部123が転送更新情報127を転送記憶部113に書き込むことで転送情報114を更新する。この更新により転送情報114の転送先に内部処理部120が含まれるようになる。ステップS307では、内部処理部120は、通信データの転送処理が可能な状態、すなわちルーティング受付状態に遷移し、転送制御部110から受信した通信データを転送情報114に従って転送させる。
図2の左端に示す電子制御装置10の処理能力の時系列変化を説明する。ステップS304が完了するまでは通信データの処理ができないので処理能力はゼロである。ステップS304が完了すると、転送制御部110および外部処理部200による通信データの処理が可能となる。そしてステップS306が完了すると転送制御部110、外部処理部200および内部処理部120による通信データの処理が可能となるので処理能力が増強される。
図3は内部処理部120の詳細な処理手順を示すフローチャートである。内部処理部120に電源が入力されると、ステップS400が開始される。ステップS400では、内部セキュリティ検証部122がセキュアブートを実行し、転送制御部110の転送情報114への書き込みに関連する機能が改竄されていないことを確認する。具体的には、内部処理部120の出力先設定部123および初期情報126をセキュアブートする。
続くステップS401では内部処理部120は、ステップS400で実施したセキュアブートが成功し、起動できたか否かを確認する。内部処理部120は、セキュアブートが失敗したと判断する場合は、ステップS402に移行し、処理を停止して図3の処理を終了する。内部処理部120はセキュアブートが成功したと判断すると、ステップS403に移行する。
ステップS403では内部処理部120は、外部処理部200のセキュアブートが完了し、すでにルーティング受付状態であるかを確認する。なおこのステップは、内部処理部120のセキュアブートが完了するよりも短時間で外部処理部200のセキュアブートが完了していることが既知の場合や、より短時間で転送機能を起動させたい場合など、状況によりスキップしてもよい。内部処理部120は、外部処理部200がルーティング受付状態であると判断する場合はステップS404に進む。内部処理部120は、外部処理部200がルーティング受付状態にないと判断する場合は、ステップS402に移行し、処理を停止して図3の処理を終了する。
ステップS404では、出力先設定部123が転送制御部110の転送記憶部113に初期情報126の情報を書き込むことで転送情報114を作成する。転送情報114の作成が完了すると、転送制御部110が受信した通信データは外部処理部200に転送可能となる。したがって、転送機能はステップS404が完了した時点で既に稼動している。
続くステップS405では内部セキュリティ検証部122は、ステップS400において安全性を検証しなかった内部処理部120の残りのプログラムおよびデータを対象にセキュアブートを実行する。具体的には、内部制御部121、内部ルート情報125および転送更新情報127をセキュアブートさせる。
続くステップS406では内部処理部120は、ステップS405において実施したセキュアブートが成功したか否かを確認する。内部処理部120はセキュアブートに成功したと判断する場合はステップS407に進み、セキュアブートに失敗したと判断する場合はステップS402に移行し、処理を停止して図3の処理を終了する。
ステップS407では出力先設定部123が、出力先設定部123が転送制御部110の転送記憶部113に転送更新情報127の情報を書き込むことで転送情報114を更新する。続くステップS408では、内部処理部120がルーティング受付状態になり、転送制御部110で受信した通信データの処理が可能になり、図3に示す処理が終了する。
図4は、転送情報114の一例を示す図である。図4(a)は、図2のステップS304や図3のステップS404の処理により作成される転送情報114である。図4(b)は、図2のステップS306や図3のステップS407により作成される転送情報114である。以下では、図4(a)に示す転送情報114を「更新前」の転送情報114と呼び、図4(b)に示す転送情報114を「更新後」の転送情報114と呼ぶ。
転送情報114は、MACアドレス1130および転送先1131から構成される。MACアドレス1130は受信した通信データを識別し、登録されている転送先を調査するために使用される。転送先1131には、受信した通信データの転送先が記載されている。たとえば、内部処理部120、外部処理部200、および第2装置20や第3装置30に接続されるポート番号が記載される。
転送情報114の更新前に受信した通信データは、内部処理部120には転送されず、いずれかの装置、また外部処理部200に転送される。これは、内部処理部120の転送機能の起動が完了していないので、内部処理部120への転送を避ける意図で更新前の転送情報114が作成されているためである。転送制御部110が内部処理部120、および外部処理部200から受信した通信データは通信ヘッダに含まれる転送先MACアドレスが書換えられている。そのため転送情報制御部112は、転送情報114を再び参照して転送先を検索し、該当する転送先に送信する。
なお図4では、通信データの識別のためにMACアドレス1130を用いる例を示したが、通信データの転送先を判別可能な値であれば他の値を使用してもよい。たとえば、MACアドレス1130の一部の値を使用したり、IPアドレスやその一部を使用したりすることによって転送先を判別してもよい。
図5は、転送更新情報127の一例を示す図である。転送更新情報127は、転送情報114の更新部分、たとえば図4(a)と図4(b)の差分である。出力先設定部123は、転送記憶部113に格納される転送情報114を参照し、転送更新情報127のMACアドレスが一致した場合に転送先1131に格納されている情報を転送先1261の情報に更新する。図5の例では、MACアドレス「00:01:02:03:05」の転送先が内部処理部120に更新される。図4(b)に示す更新後の転送情報114では、通信データの処理負荷分散のため、更新後に外部処理部200と内部処理部120とで分散して処理している。ただし更新後は、外部処理部200は通信データの転送処理を行わず、内部処理部120がすべての通信データを処理してもよい。
図6は、内部ルート情報125の一例を示す図である。内部ルート情報125は、IPアドレス1240と転送用MACアドレス1241から構成される。内部制御部121は内部ルート情報125を参照し、受信した通信データのヘッダに含まれるIPアドレスから転送先のMACアドレスを検索し、検索したMACアドレスにヘッダ情報を書換え、転送制御部110に送信する。たとえば、MACアドレスが「00:01:02:03:04:05」でIPアドレスが「255.255.1.3」の通信データを受信した場合、データベースから転送先MACアドレスを検索し、通信ヘッダを「00:01:02:03:04:05」から「1A:2B:3C:4D:5E:6F」に書き換える。
図7は、外部ルート情報231の一例を示す図である。外部ルート情報231のデータの構造は図6の内部ルート情報125と同一である。外部処理部200は、内部処理部120が稼動する前に受信した通信データに対しても、通信データの転送先MACアドレスの書換えを実施する必要があるため、外部ルート情報231は内部ルート情報125よりもデータ量が多い。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)電子制御装置10は、外部処理部200(第1処理部)、内部処理部120(第2処理部)、および転送制御部110を備える。外部処理部200よりも内部処理部120は起動処理に長い時間を要する。転送制御部110は、外部から受信する通信データを外部処理部200および内部処理部120に転送可能である。転送制御部110は、図4(a)に示すように起動から内部処理部120の起動処理が完了するまでは内部処理部120をデータの転送先とせず外部処理部200を転送先に含め、図4(b)に示すように内部処理部120の起動処理が完了すると少なくとも内部処理部120をデータの転送先とする。そのため、内部処理部120が起動処理が完了する以前であっても通信データの処理が可能であり、起動時に受信した通信データの処理能力が担保される。また、内部処理部120の起動処理が完了すれば内部処理部120を用いて通信データを処理するため、処理能力が向上する。
たとえば、内部処理部120および外部処理部200の全体の起動処理が完了するまでは転送制御部110は通信データを一切処理しない構成も考えられる。その場合は、全体の起動処理が完了するまでは、処理能力はゼロである。これに対して本実施の形態では、外部処理部200の起動処理が完了しなくても転送制御部110および内部処理部120により通信データを処理するので、処理能力が低いながらも起動中から処理を開始することができる。すなわち本実施の形態では、処理能力がゼロの期間を短くすることができる。
(2)転送制御部110は、データの識別子とデータの転送先の対応情報である転送情報114を格納する転送記憶部113を備える。転送制御部110は、転送情報114を参照してデータの転送先を決定する。転送制御部110は、内部処理部120により転送情報114が書き換えられることにより通信データの転送先が変更される。
(3)転送制御部110は、内部処理部120の起動処理が完了すると転送情報114を参照してデータを、外部処理部200および内部処理部120を含む転送先のいずれかに転送する。そのため、内部処理部120の起動処理が完了すると、外部処理部200だけでなく内部処理部120も利用して通信データの転送処理を実行するので処理がより高速となる。
(4)内部処理部120は、改竄を検出する内部セキュリティ検証部122(第2セキュリティ検証部)を備える。内部処理部120は、内部処理部120を構成する内部セキュリティ検証部122を除く少なくとも1つの構成の改竄の検出を内部セキュリティ検証部122を用いて起動処理の一部として行う。
(5)転送制御部110は、データの識別子とデータの転送先の対応情報である転送情報114を格納する転送記憶部113を備える。転送制御部110は、転送情報114を参照してデータの転送先を決定する。内部処理部120は、改竄を検出する内部セキュリティ検証部122(第2セキュリティ検証部)を備える。内部処理部120の起動処理は、図2のS303である第1起動処理と、図2のS305である第2起動処理とから構成される。第1起動処理では、内部セキュリティ検証部122が転送情報114を書き換える出力先設定部123を実現するプログラム、および内部処理部120をデータの転送先としない旨の情報である初期情報126の改竄を検出し、出力先設定部123が初期情報126を転送記憶部113に書き込む。そのため、内部セキュリティ検証部122を用いて改竄がされていなことが確認された安全な転送情報114の作成ができる。
(変形例1)
上述した第1の実施の形態では、データ転送部100は転送制御部110と内部処理部120とを独立した構成として説明した。しかし、転送制御部110と内部処理部120とが明示的に分離されない構成でもよい。
(変形例2)
上述した第1の実施の形態では、内部処理部120および外部処理部200の両者ともセキュアブートを行った。しかし内部処理部120および外部処理部200の少なくとも一方は、セキュアブートを行わなくてもよい。セキュアブートを行わなくてもよい場合とはたとえば、プログラムやデータが読み出し専用のメモリに格納される場合や、改竄の可能性を考慮しなくてよい場合などである。セキュアブートを行わない場合であっても、たとえばプログラムやデータのデータサイズが大きいことなどを理由として外部処理部200の起動が内部処理部120よりも長時間を要する場合には、本実施の形態の構成が有効である。すなわち、起動処理に長時間を有する外部処理部200の起動処理が完了するまでは外部処理部200が転送制御部110からの転送先の1つとなり、外部処理部200の起動処理が完了すると外部処理部200および内部処理部120が転送制御部110からの転送先に含まれることで、起動処理が完了する前に通信データの処理を開始できる。
(変形例3)
上述した第1の実施の形態では、内部処理部120の出力先設定部123が転送制御部110の転送記憶部113に書き込みを行った。しかし内部処理部120は転送制御部110に書き込みの指令を送信して転送制御部110が転送記憶部113への書き込みを行ってもよい。この場合には、初期情報126および転送更新情報127が転送制御部110に備えられる。内部処理部120が転送制御部110に書き換え指令を送信し、転送制御部110が自ら転送情報114を書き換える。
(変形例4)
上述した第1の実施の形態では、内部処理部120の起動処理が完了すると、内部処理部120および外部処理部200の両方を転送先に含むように転送情報114が書き換えられた。しかし転送情報114は、内部処理部120の起動処理が完了すると、内部処理部120は転送先に含むが外部処理部200は転送先に含まないように書き換えられてもよい。この場合はたとえば、内部処理部120の起動処理が完了すると転送情報114は、図4(b)の3行目における「外部処理部」を「内部処理部」に書き換えたものとなる。本変形例によれば、内部処理部120の起動処理が完了すると外部処理部200は通信データの転送処理を行わないので、外部処理部200は別の処理を実行することができる。
(変形例5)
上述した第1の実施の形態では、内部制御部121および出力先設定部123は不図示のCPUがプログラムを実行することにより実現された。しかし内部制御部121および出力先設定部123は、書き換え可能な論理回路であるFPGA(Field Programmable Gate Array)を用いて実現されてもよい。FPGAに書き込むコンフィギュレーションデータが書き換え可能な記憶領域に格納される場合には、内部セキュリティ検証部122はセキュアブートの処理として、コンフィギュレーションデータの改竄を検出する。内部セキュリティ検証部122は、コンフィギュレーションデータもプログラムと同様に署名値を計算し、その署名値が予め記録されている値と一致するか否かにより改竄されているか否かを判断する。
なおプログラムとコンフィギュレーションデータは、読み込まれる対象は異なるが上述した機能ブロックを実現するプログラムコードという点では類似する。以下では、プログラムとコンフィギュレーションデータとをあわせて、「プログラム実現データ」と呼ぶ。この変形例5によれば、電子制御装置10の構成にFPGAが含まれる場合にも第1の実施の形態と同様の作用効果を得ることができる。
(変形例6)
上述した第1の実施の形態では、通信データの一部は転送制御部110だけでも処理可能であった。たとえば図4(a)に示す上から2つのMACアドレスを有する通信データは、内部処理部120や外部処理部200に転送することなく転送制御部110だけで処理が完結した。しかし転送制御部110は、転送制御部110だけでは処理を完結させず通信データを常に内部処理部120や外部処理部200に転送してもよい。
(変形例7)
内部制御部121および外部制御部210は、受信した通信データのヘッダ情報を書き換えた。しかし内部制御部121および外部制御部210の少なくとも一方は、受信した通信データのヘッダ情報を書き換えなくてもよい。この場合には内部制御部121および外部制御部210は、通信データを用いる何らかの処理を行う。この処理とはたとえば、通信データが所定の規則に従ったものであるか否かを判断し、所定の規則に従っていなければ通信データを破棄する処理である。
(変形例8)
内部処理部120と外部処理部200は、その所在が入れ替わってもよい。すなわち外部処理部200がデータ転送部100に含まれ、内部処理部120はデータ転送部100の外部に存在してもよい。
―第2の実施の形態―
図8~図10を参照して、電子制御装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、一部のプログラムの改竄の恐れがない点で、第1の実施の形態と異なる。
図8は、第2の実施の形態における電子制御装置10Aの構成図である。第1の実施の形態における電子制御装置10と同一の構成には同一の符号を付して説明を省略する。本実施の形態では、内部処理部120の出力先設定部123を実現するプログラム、および初期情報126がHSMやOTP(One Time Program)領域などの書換え不可のメモリ領域129に保存される。すなわち、転送制御部110の転送記憶部113への書き込みに必要な機能を実現するプログラム、および転送記憶部113に書き込む情報が書換え不可領域に保存される対象である。
図9は、第2の実施の形態における電子制御装置10Aの動作を示すシーケンス図である。図2と同様の処理については、同じ番号を付し、説明を省略する。図2のシーケンス図と比較すると、内部処理部120の動作開始直後の処理、すなわち転送制御部110の転送記憶部113へ書き込むための機能を起動させる方法が異なる。
ステップS900では内部処理部120は、転送記憶部113への書き込みを行うプログラム、すなわち出力先設定部123の起動、および初期情報126の読み出しを行う。本実施の形態では、出力先設定部123を実現するためのプログラムおよび初期情報126は書き込み不可領域に保存されており改竄の危険性がないため、内部セキュリティ検証部122による検証を省略できる。その後の処理は第1の実施の形態と同様なので説明を省略する。
図10は、第2の実施の形態における内部処理部120の処理を示すフローチャートである。図3で示したステップと同様の処理については、同じ番号を付して説明を省略する。図3と比較し、ステップS400およびS401がステップS900に代替される。
ステップS1000では、転送情報114の書き込みに関するプログラムがHSMに保存されているため、改竄の危険性がないことから、セキュアブートせずに、出力先関連部分を読み出して起動させる。具体的には、出力先設定部123および初期情報126を呼び出す。
上述した第2の実施の形態によれば、次の作用効果が得られる。
(6)電子制御装置10Aの転送制御部110は、データの識別子とデータの転送先の対応情報である転送情報114を格納する転送記憶部113を備える。転送制御部110は、転送情報114を参照してデータの転送先を決定する。内部処理部120の起動処理は、第1起動処理と第2起動処理とから構成される。第1起動処理では、読み出し専用領域から、内部セキュリティ検証部122が転送情報114を書き換える出力先設定部123を実現するプログラムコード、および内部処理部120をデータの転送先としない旨の情報である初期情報126を読み出し、出力先設定部123が初期情報126を転送記憶部113に書き込む。そのため、本実施の形態では内部セキュリティ検証部122が出力先設定部123および初期情報126のセキュアブートを要しないので、第1の実施の形態よりも早期に第1処理を完了できる。
―第3の実施の形態―
図11~図12を参照して、電子制御装置の第3の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、終了時に転送情報が書き換えられる点で、第1の実施の形態と異なる。
図11は、第3の実施の形態における電子制御装置10Bの構成図である。第1の実施の形態における電子制御装置10と同一の構成には同一の符号を付して説明を省略する。本実施の形態では、内部処理部120が終了処理部128をさらに備える。また、内部セキュリティ検証部122および出力先設定部123の処理が第1の実施の形態と異なっている。また本実施の形態では、転送記憶部113は不揮発性の記憶装置、たとえばフラッシュメモリ、相変化メモリ、磁気メモリなどである。そのため電子制御装置10Bに電源が供給されると、転送記憶部113には電源供給が停止された際に格納されていた情報がそのまま残っている。
本実施の形態では、電子制御装置10Bは、外部からの電源供給が停止される前に動作停止指令信号が入力される。出力先設定部123は、動作停止指令信号が入力されると、転送記憶部113に初期情報126を書き込み、転送情報114を図4(a)に示すように転送先に内部処理部120が含まれないものに書き換える。この書き換えの後に電子制御装置10Bへの電源供給が停止される。
電子制御装置10Bは、電源が供給されると内部処理部120と外部処理部200のそれぞれがセキュアブートを開始する。ただし内部処理部120の内部セキュリティ検証部122は、内部制御部121、出力先設定部123、内部ルート情報125、および転送更新情報127をセキュアブートの対象とする。すなわち起動時には初期情報126はセキュアブートの対象としない。初期情報126は、起動後の処理負荷が低いタイミングで検証が行われる。内部処理部120は、セキュアブートが完了すると出力先設定部123を用いて転送記憶部113に転送更新情報127を書き込むことで、転送情報114を図4(b)に示すように転送先に内部処理部120が含まれるものに書き換える。この書き換えが完了すると、内部処理部120はルーティング受付状態に遷移する。
図12は、第3の実施の形態における電子制御装置10Bの動作を示すシーケンス図である。第1の実施の形態や第2の実施の形態と同様の処理については、同じ番号を付し、説明を省略する。図12に示すシーケンス図の上部では、電子制御装置10Bの起動からしばらく時間が経過し、内部処理部120および外部処理部200の両方ともがルーティング受付状態に遷移している。なおこのときの転送情報114は、図4(b)に示すように転送先に内部処理部120が含まれるものである。
ステップS390において、動作停止指令信号が入力されると、内部処理部120の出力先設定部123は次の処理を行う。すなわち出力先設定部123は、ステップS910において内部記憶部124から初期情報126を読み出して、ステップS314において転送制御部110の転送記憶部113に書き込む。この書き込みの完了の後に、内部処理部120の電源供給が終了する。その後、ステップS300において内部処理部120に電源が供給される。外部処理部200は、第1の実施の形態と同様にステップS301においてセキュアブートを行い、完了するとルーティング受付状態に遷移する(ステップS302)。
ステップS301が完了した段階において、電源がオフになる直前のステップS314における書き換えにより、第1の実施の形態におけるS304に相当する処理が完了している。そのため、外部処理部200がステップS302によってルーティング受付状態に遷移すると、外部処理部200を用いたルーティング処理が可能となる。
上述した第3の実施の形態によれば、次の作用効果が得られる。
(7)転送記憶部113は不揮発性の記憶領域である。電子制御装置10Bの終了処理として、転送先に内部処理部120が含まれないように転送情報114を書き換える終了処理部128を備える。そのため電子制御装置10Bは、第1の実施の形態や第2の実施の形態よりも早期に転送データの処理を開始することができる。
―第4の実施の形態―
図13~図14を参照して、電子制御装置の第4の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、内部処理部と外部処理部のいずれが先に起動処理が完了する場合にも対応する点で、第1の実施の形態と異なる。
図13は、第4の実施の形態における電子制御装置10Cの構成図である。第1の実施の形態における電子制御装置10と同一の構成には同一の符号を付して説明を省略する。本実施の形態における内部処理部120は、第1の実施の形態における構成に加えて、内部決定部961をさらに備える。また内部記憶部124には、初期情報126の代わりに内部初期情報951が格納される。本実施の形態における外部処理部200は、第1の実施の形態における構成に加えて、外部決定部962と外部出力先設定部963とを備える。外部記憶部230には、外部初期情報952が格納される。
内部処理部120の内部セキュリティ検証部122は、起動時には内部制御部121、出力先設定部123、内部決定部961、内部ルート情報125、および内部初期情報951のセキュアブートを行う。第1の実施の形態では内部処理部120は2段階に分けてセキュアブートを行ったが、本実施の形態ではこれらすべてを一気に処理する。
外部処理部200の外部セキュリティ検証部220は、起動時に、外部制御部210、外部決定部962、外部出力先設定部963、外部ルート情報231、および外部初期情報952のセキュアブートを行う。
内部初期情報951とは、受信した通信データの転送先に関するデータであり、転送先の少なくとも1つに内部処理部120が設定され、外部処理部200は転送先に含まないものである。外部初期情報952とは、受信した通信データの転送先に関するデータであり、転送先の少なくとも1つに外部処理部200が設定され、内部処理部120は転送先に含まないものである。外部初期情報952はたとえば図4(a)に示したものである。
内部決定部961は、内部処理部120のセキュアブートが完了すると次の動作を行う。内部決定部961は外部処理部200のセキュアブートが完了しているか否かを判断する。外部処理部200のセキュアブートが完了しているか否かは、たとえば内部決定部961が転送記憶部113の内容を読み込んで判断してもよいし、内部処理部120と外部処理部200がセキュアブートが完了した旨の信号を相互に送りあうことにより実現してもよい。
内部決定部961は外部処理部200のセキュアブートが完了していないと判断すると、出力先設定部123を用いて転送記憶部113に内部初期情報951を書き込み、内部処理部120を転送先として含む転送情報114を作成する。内部決定部961は外部処理部200のセキュアブートが完了していなると判断すると、出力先設定部123を用いて転送記憶部113に書き込みを行い転送情報114の転送先に内部処理部120と外部処理部200の両方を含む状態、たとえば図4(b)に示す状態に書き換える。
外部決定部962は、外部処理部200のセキュアブートが完了すると次の動作を行う。外部決定部962は内部処理部120のセキュアブートが完了しているか否かを判断する。この判断は内部決定部961と同様の手法で実現できる。外部決定部962は内部処理部120のセキュアブートが完了していないと判断すると、外部出力先設定部963を用いて転送記憶部113に外部初期情報952を書き込み、外部処理部200を転送先として含む転送情報114を作成する。外部決定部962は内部処理部120のセキュアブートが完了していなると判断すると、外部出力先設定部963を用いて転送記憶部113に書き込みを行い転送情報114の転送先に内部処理部120と外部処理部200の両方を含む状態、たとえば図4(b)に示す状態に書き換える。
図14は、第4の実施の形態における電子制御装置10Cの処理の流れを説明するシーケンス図である。ステップS911とステップS921が同時に開始される。ステップS911では、外部セキュリティ検証部220が、セキュアブートを開始する。ステップS921では、内部セキュリティ検証部122が、セキュアブートを開始する。内部セキュリティ検証部122によるセキュアブートが完了すると内部決定部961が動作を開始し、外部処理部200によるセキュアブートが完了しているか否かを判断する。図14に示す例では外部処理部200によるセキュアブートが完了していないので、内部決定部961はステップS931において内部初期情報951を転送記憶部113に書き込み、ステップS922においてルーティング受付状態に遷移する。
外部処理部200は、セキュアブートが911が完了すると、外部決定部962が内部処理部120のセキュアブートがすでに完了していること判断する。そして外部決定部962はステップS932において転送情報114を書き換え、外部処理部200はステップS912においてルーティング受付状態に遷移する。
上述した第4の実施の形態によれば、内部処理部120および外部処理部200のいずれが先に起動した場合であっても、先に起動した方を利用した転送データの処理を開始できる。
なお本実施の形態では、内部処理部120と外部処理部200のいずれが先に起動するかで転送情報114に記載される情報が変化したが、転送情報114に記載される情報は変更せずに構成の名称を変更してもよい。たとえば内部処理部120と外部処理部200を仮に第1演算部と第2演算部に呼び変え、転送情報114に書き込む情報は第1の実施の形態と同様とする。すなわち最初に作成される転送情報114の転送先には、図4(a)に示すように外部処理部200は含まれるが内部処理部120は含まれない。
そして、第1演算部と第2演算部のうち、先に起動した方を外部処理部200と呼び、起動が遅い方を内部処理部120と呼ぶ。このように名称を呼び変えることで本実施の形態における動作を表すことができる。すなわち本実施の形態は次のように表現することもできる。
(8)電子制御装置10Cにおいて、内部処理部120および外部処理部200のそれぞれは、第1演算部および第2演算部のいずれかである。電子制御装置10Cは、第1演算部および第2演算部のうち起動処理が先に完了した方を外部処理部200として転送情報114を書き換え、第1演算部および第2演算部のうち起動処理が後に完了した方を内部処理部120として転送情報114を書き換える決定部、すなわち内部決定部961および外部決定部962を備える。そのため、内部処理部120および外部処理部200のいずれが先に起動した場合であっても、先に起動した方を利用した転送データの処理を開始できる。
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
10、10A、10B…電子制御装置
100…データ転送部
110…転送制御部
111…通信部
112…転送情報制御部
113…転送記憶部
114…転送情報
120…内部処理部
121…内部制御部
122…内部セキュリティ検証部
123…出力先設定部
124…内部記憶部
126…初期情報
127…転送更新情報
128…終了処理部
129…書換え不可のメモリ領域
200…外部処理部
210…外部制御部
220…外部セキュリティ検証部
230…外部記憶部
951…内部初期情報
952…外部初期情報
961…内部決定部
962…外部決定部
963…外部出力先設定部

Claims (10)

  1. 第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、
    前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、
    前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、
    前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、
    前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、
    前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、
    前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、
    前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、
    前記転送制御部は、前記転送情報を自ら書き換えることにより前記通信データの転送先を変更する、または前記第2処理部により前記転送情報が書き換えられることにより前記通信データの転送先が変更される電子制御装置。
  2. 請求項に記載の電子制御装置において、
    前記転送制御部は、前記第2処理部の起動処理が完了すると前記転送情報を参照して前記通信データを、前記第1処理部および前記第2処理部を含む転送先のいずれかに転送する電子制御装置。
  3. 請求項に記載の電子制御装置において、
    前記第2処理部は、前記第2処理部の起動処理が完了すると前記転送記憶部の前記転送情報を転送先に前記第2処理部が含まれるように書き換える出力先設定部をさらに備える電子制御装置。
  4. 請求項に記載の電子制御装置において、
    前記転送記憶部は不揮発性の記憶領域であり、
    前記電子制御装置の終了処理として、転送先に前記第2処理部が含まれないように前記転送情報を書き換える終了処理部をさらに備える電子制御装置。
  5. 請求項に記載の電子制御装置において、
    前記第1処理部および前記第2処理部のそれぞれは、第1演算部および第2演算部のいずれかであり、
    前記第1演算部および前記第2演算部のうち起動処理が先に完了した方を前記第1処理部として前記転送情報を書き換え、前記第1演算部および前記第2演算部のうち起動処理が後に完了した方を前記第2処理部として前記転送情報を書き換える決定部をさらに備える、電子制御装置。
  6. 第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、
    前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、
    前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、
    前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、
    前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、
    前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、
    前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、
    前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、
    前記第2処理部は、改竄を検出する第2セキュリティ検証部を備え、
    前記第2処理部の前記起動処理は、第1起動処理と第2起動処理とから構成され、
    前記第1起動処理では、前記第2セキュリティ検証部が前記転送情報を書き換える出力先設定部を実現するプログラム実現データ、および前記第2処理部を前記通信データの転送先としない旨の情報である初期情報の改竄を検出し、前記出力先設定部が前記初期情報を前記転送記憶部に書き込む、電子制御装置。
  7. 第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、
    前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、
    前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、
    前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、
    前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、
    前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、
    前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、
    前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、
    前記第2処理部の前記起動処理は、第1起動処理と第2起動処理とから構成され、
    前記第1起動処理では、前記第2処理部が読み出し専用領域から、前記転送情報を書き換える出力先設定部を実現するプログラム実現データ、および前記第2処理部を前記通信データの転送先としない旨の情報である初期情報を読み出し、前記出力先設定部が前記初期情報を前記転送記憶部に書き込む、電子制御装置。
  8. 第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、
    前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、
    前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、
    前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、
    前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、
    前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、
    前記第1処理部および前記転送制御部はデータ転送部に含まれ、前記第2処理部は前記データ転送部に接続され、
    前記データ転送部はデータリンク層またはネットワーク層におけるスイッチであり、
    前記転送制御部はスイッチコアであり、
    前記第1処理部は前記スイッチの内部プロセッサであり、
    前記第2処理部は前記スイッチに接続されたマイコンである、電子制御装置。
  9. 第1処理部、第2処理部、および転送制御部を備える電子制御装置であって、
    前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、
    前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能な通信部を備え、
    前記第1処理部は、前記転送制御部から転送される前記通信データを処理する第1制御部を備え、
    前記第2処理部は、前記転送制御部から転送される前記通信データを処理する第2制御部を備え、
    前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とし、
    前記第2処理部および前記転送制御部はデータ転送部に含まれ、前記第1処理部は前記データ転送部に接続され、
    前記データ転送部はデータリンク層またはネットワーク層におけるスイッチであり、
    前記転送制御部はスイッチコアであり、
    前記第2処理部は前記スイッチの内部プロセッサであり、
    前記第1処理部は前記スイッチに接続されたマイコンである、電子制御装置。
  10. 第1処理部、第2処理部、および転送制御部を備える電子制御装置が実行する演算方法であって、
    前記第1処理部よりも前記第2処理部は起動処理に長い時間を要し、
    前記転送制御部は、外部から受信する通信データを前記第1処理部および前記第2処理部に転送可能であり、
    前記第1処理部が、前記転送制御部から転送される前記通信データを処理することと、
    前記第2処理部は、前記転送制御部から転送される前記通信データを処理することと、
    前記転送制御部は、前記第2処理部の起動処理が完了するまでは前記第2処理部を前記通信データの転送先とせず前記第1処理部を転送先に含め、前記第2処理部の起動処理が完了すると少なくとも前記第2処理部を前記通信データの転送先とすることとを含み、
    前記転送制御部は、前記通信データの識別子と前記通信データの転送先の対応情報である転送情報を格納する転送記憶部をさらに備え、
    前記転送制御部は、前記転送情報を参照して前記通信データの転送先を決定し、
    前記転送制御部は、前記転送情報を自ら書き換えることにより前記通信データの転送先を変更する、または前記第2処理部により前記転送情報が書き換えられることにより前記通信データの転送先が変更される、演算方法。
JP2019208977A 2019-11-19 2019-11-19 電子制御装置、演算方法 Active JP7373366B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019208977A JP7373366B2 (ja) 2019-11-19 2019-11-19 電子制御装置、演算方法
PCT/JP2020/041785 WO2021100527A1 (ja) 2019-11-19 2020-11-09 電子制御装置、演算方法
CN202080079938.0A CN114746310A (zh) 2019-11-19 2020-11-09 电子控制装置、运算方法
US17/777,398 US20220405226A1 (en) 2019-11-19 2020-11-09 Electronic control device and calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019208977A JP7373366B2 (ja) 2019-11-19 2019-11-19 電子制御装置、演算方法

Publications (2)

Publication Number Publication Date
JP2021082002A JP2021082002A (ja) 2021-05-27
JP7373366B2 true JP7373366B2 (ja) 2023-11-02

Family

ID=75965257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019208977A Active JP7373366B2 (ja) 2019-11-19 2019-11-19 電子制御装置、演算方法

Country Status (4)

Country Link
US (1) US20220405226A1 (ja)
JP (1) JP7373366B2 (ja)
CN (1) CN114746310A (ja)
WO (1) WO2021100527A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174895A1 (en) 2006-09-27 2010-07-08 Pierce James R Rapid-boot computing device with dual operating systems
JP2014085905A (ja) 2012-10-25 2014-05-12 Nec Network & Sensor Systems Ltd 通信装置、通信方法およびプログラム
JP2018116669A (ja) 2017-01-13 2018-07-26 株式会社オートネットワーク技術研究所 車載装置、中継装置及びコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174895A1 (en) 2006-09-27 2010-07-08 Pierce James R Rapid-boot computing device with dual operating systems
JP2014085905A (ja) 2012-10-25 2014-05-12 Nec Network & Sensor Systems Ltd 通信装置、通信方法およびプログラム
JP2018116669A (ja) 2017-01-13 2018-07-26 株式会社オートネットワーク技術研究所 車載装置、中継装置及びコンピュータプログラム

Also Published As

Publication number Publication date
US20220405226A1 (en) 2022-12-22
WO2021100527A1 (ja) 2021-05-27
JP2021082002A (ja) 2021-05-27
CN114746310A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
USRE48514E1 (en) Semiconductor device
JP6675271B2 (ja) ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6284903B2 (ja) 通信装置及び通信制限プログラム
US10045095B2 (en) Communication processing device, communication method, and communication system
US11558404B2 (en) On-board communication system, switching device, verification method, and verification program
CN109814934B (zh) 数据处理方法、装置、可读介质和系统
US11550474B2 (en) Data storage device and method for rewriting parameters thereof
CN112383402A (zh) 双重幂等验证方法及服务器
JP7373366B2 (ja) 電子制御装置、演算方法
EP2778910B1 (en) Systems and methods to extend rom functionality
WO2024099183A1 (zh) 多介质安全启动的方法、系统、存储介质、设备及芯片
JP4019012B2 (ja) Fpgaを具備するcpu装置とその初期化方法
JP2018128722A (ja) プログラマブルロジックコントローラ
WO2019221058A1 (ja) 車載中継装置、通信システム、バス決定方法及びコンピュータプログラム
JP5119204B2 (ja) プログラマブルコントローラ、データ書き込み方法、及び受信モジュール
JPH0764868A (ja) 記憶更新装置
JP7461755B2 (ja) 情報処理装置、プログラム更新システム、及びプログラム更新方法
KR20180002535A (ko) 직접 메모리 액세스 제어 장치 및 그 작동 방법
US11822661B2 (en) Method for carrying out a secured startup sequence of a control unit
EP4290396A1 (en) Updating software of an electronic circuit for a vehicle
JP5435647B2 (ja) コンピュータシステム、メモリ初期化方法、及びプログラム
JP2005332228A (ja) プログラム切替え制御装置
JP2021174610A (ja) 制御システムおよび制御機器
CN115221527A (zh) 电子装置及其控制方法
JP2020141284A (ja) 通信装置、プログラム及び通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231023

R150 Certificate of patent or registration of utility model

Ref document number: 7373366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150