(57)【特許請求の範囲】
【請求項１】
複数の電子制御ユニットが通信に用いる１以上のバスに接続されたゲートウェイ装置であって、
フレームを受信する受信部と、
前記受信部により受信されたフレームのバスである転送元バスが検証機能を有し、当該フレームを転送するバスである転送先バスが検証機能を有さない場合、当該フレームから当該フレームに含まれる当該フレームの検証に用いられる検証用情報を削除して、前記転送先バスへの転送を行い、前記受信部により受信されたフレームのバスである転送元バスが検証機能を有さず、当該フレームを転送するバスである転送先バスが検証機能を有する場合、当該フレームに当該フレームの検証に用いられる検証用情報を付加して前記転送先バスへの転送を行う、転送部とを備える
ゲートウェイ装置。
【請求項２】
前記転送部は、前記受信部により受信された検証用情報を含む第１フレームについて、前記検証用情報を削除するための所定削除条件が満たされた場合には、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報を含む第２フレームを生成して当該第２フレームを前記転送先バスに送信することで、前記転送を行う
請求項１記載のゲートウェイ装置。
【請求項３】
前記複数の電子制御ユニットは、Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＣＡＮ）プロトコルに従って前記バスを介して通信を行い、
前記検証用情報はフレームにおいてデータフィールドに配置されるメッセージ認証コードであり、
前記転送部は、前記所定削除条件が満たされた場合には、前記第１フレームにおけるメッセージ認証コード以外のデータフィールドの内容を含み、メッセージ認証コードを含まない第２フレームを前記転送先バスに送信する
請求項２記載のゲートウェイ装置。
【請求項４】
前記ゲートウェイ装置は、複数のバスに接続され、
前記ゲートウェイ装置は、前記複数のバスから、前記受信部により受信されたフレームの転送先となる前記転送先バスを、選択するための基準を示す転送ルール情報と、バス毎に当該バスが、前記検証用情報に基づくフレームの検証機能を有する電子制御ユニットが接続されている検証対応バスか、前記検証機能を有する電子制御ユニットが接続されていない検証非対応バスかを示すバス情報とを保持する転送ルール保持部を備え、
前記転送部は前記転送に際して前記転送ルール情報に基づいて前記転送先バスを選択し、当該転送先バスが検証非対応バスである場合には前記所定削除条件が満たされたとして、前記転送を行う
請求項２又は３記載のゲートウェイ装置。
【請求項５】
前記バス情報は、検証対応バスに接続された前記検証機能を有する電子制御ユニットにより検証されるフレームの識別子である検証メッセージ識別子と、検証されないフレームの識別子である非検証メッセージ識別子とを区別するためのメッセージ識別子情報を含み、
前記転送部は、前記転送先バスが検証対応バスである場合において、前記受信部により受信されたフレームの識別子が非検証メッセージ識別子であるときには前記所定削除条件が満たされたとして、前記転送を行う
請求項４記載のゲートウェイ装置。
【請求項６】
前記転送部は、前記転送先バスが検証機能を有している場合であっても前記転送先バスのバス占有率が所定値より高い場合に前記所定削除条件が満たされたとして、前記転送を行う
請求項２〜５のいずれか一項に記載のゲートウェイ装置。
【請求項７】
前記転送部は、前記転送先バスに送信するフレームに、当該フレームに検証用情報が含まれるか否かを表す情報を含ませる
請求項６記載のゲートウェイ装置。
【請求項８】
前記ゲートウェイ装置は、前記１以上のバスに接続された電子制御ユニット毎に当該電子制御ユニットが前記検証用情報に基づくフレームの検証機能を有するか否かを示す情報を保持し、
前記転送部は、前記受信部により受信されたフレームの転送先となる前記転送先バスに接続されて当該フレームに応じた処理を実行する電子制御ユニットが前記検証機能を有さない場合に、前記所定削除条件が満たされたとして、前記転送を行う
請求項２又は３記載のゲートウェイ装置。
【請求項９】
前記ゲートウェイ装置は、前記１以上のバスに接続された、前記検証用情報に基づくフレームの検証機能を有する電子制御ユニットにより、検証されるフレームの識別子である検証メッセージ識別子と、検証されないフレームの識別子である非検証メッセージ識別子とを区別するメッセージ識別子情報を保持し、
前記転送部は、前記受信部により受信されたフレームの識別子が非検証メッセージ識別子であるときには前記所定削除条件が満たされたとして、前記転送を行う
請求項２又は３記載のゲートウェイ装置。
【請求項１０】
前記転送部は、前記受信部により受信されたフレームの前記検証用情報に基づく検証により当該フレームが不正と判定した場合には、前記転送を行わない
請求項２〜９のいずれか一項に記載のゲートウェイ装置。
【請求項１１】
前記ゲートウェイ装置は、複数のバスに接続され、
前記ゲートウェイ装置は、
前記複数のバスから、前記受信部により受信されたフレームの転送先となる前記転送先バスを、選択するための基準を示す転送ルール情報と、
バス毎に当該バスとフレームフォーマットとを対応付けたバス情報とを保持する転送ルール保持部を備え、
前記転送部は前記転送に際して前記転送ルール情報に基づいて前記転送先バスを選択し、当該転送先バスが前記バス情報により所定のフレームフォーマットに対応付けられている場合には前記所定削除条件が満たされたとして、前記転送を行う
請求項２又は３記載のゲートウェイ装置。
【請求項１２】
前記ゲートウェイ装置は、複数のバスに接続され、
前記ゲートウェイ装置は、前記複数のバスから、前記受信部により受信されたフレームの転送先となる前記転送先バスを、選択するための基準を示す転送ルール情報と、バス毎に当該バスでの通信で用いられる通信プロトコルの種別を対応付けたバス情報とを保持する転送ルール保持部を備え、
前記転送部は前記転送に際して前記転送ルール情報に基づいて前記転送先バスを選択し、当該転送先バスが前記バス情報により所定の通信プロトコルに対応付けられている場合には前記所定削除条件が満たされたとして、前記転送を行う
請求項２又は３記載のゲートウェイ装置。
【請求項１３】
前記転送部は、前記受信部により受信された検証用情報を含む第１フレームについて、前記検証用情報を削除するための所定削除条件が満たされなかった場合には、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報と、前記転送先バスに接続された電子制御ユニットと共有している鍵を用いて生成した検証用情報とを含む第２フレームを生成して当該第２フレームを前記転送先バスに送信する
請求項２〜１２のいずれか一項に記載のゲートウェイ装置。
【請求項１４】
前記転送部は、前記受信部により受信された、検証用情報を含まないフレームについて、検証用情報を付加するための所定付加条件が満たされた場合には、当該フレームの内容に基づく情報と、検証用情報とを含むフレームを生成して、生成した当該フレームを前記転送先バスに送信することで、前記転送を行う
請求項１〜１３のいずれか一項に記載のゲートウェイ装置。
【請求項１５】
前記転送部は、
前記受信部により受信されたフレームの内容が暗号化されている場合に当該フレームを復号する
請求項１記載のゲートウェイ装置。
【請求項１６】
前記転送部は、前記受信部により受信された検証用情報を含む第１フレームについて、転送先バスに検証機能を有する電子制御ユニットと検証機能を有さない電子制御ユニットが接続される場合、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報を含み且つ検証用情報を含まない第２フレームを生成して当該第２フレームを前記転送先バスに送信し、更に、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報を含み且つ検証用情報を含み、前記第２フレームとは異なる、フレームの識別子を有する第３フレームを前記転送先バスに送信することで、前記転送を行う、
請求項１記載のゲートウェイ装置。
【請求項１７】
１以上のバスを介して通信する複数の電子制御ユニットと前記バスに接続されたゲートウェイ装置とを備える車載ネットワークシステムであって、
前記ゲートウェイ装置は、
フレームを受信する受信部と、
前記受信部により受信されたフレームのバスである転送元バスが検証機能を有し、当該フレームを転送するバスである転送先バスが検証機能を有さない場合、当該フレームから当該フレームに含まれる当該フレームの検証に用いられる検証用情報を削除して、前記転送先バスへの転送を行い、前記受信部により受信されたフレームのバスである転送元バスが検証機能を有さず、当該フレームを転送するバスである転送先バスが検証機能を有する場合、当該フレームに当該フレームの検証に用いられる検証用情報を付加して前記転送先バスへの転送を行う、転送部とを備える
車載ネットワークシステム。
【請求項１８】
複数の電子制御ユニットが通信に用いる１以上のバスに接続されたゲートウェイ装置において用いられる転送方法であって、
フレームを受信する受信ステップと、
前記受信ステップでフレームのバスである転送元バスが検証機能を有し、当該フレームを転送するバスである転送先バスが検証機能を有さない場合、当該フレームから当該フレームに含まれる当該フレームの検証に用いられる検証用情報を削除して、前記転送先バスへの転送を行い、前記受信ステップにより受信されたフレームのバスである転送元バスが検証機能を有さず、当該フレームを転送するバスである転送先バスが検証機能を有する場合、当該フレームに当該フレームの検証に用いられる検証用情報を付加して前記転送先バスへの転送を行う転送ステップとを含む
転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御ユニットが通信を行うネットワークにおいてフレームの転送を行うゲートウェイ装置に関する。
【背景技術】
【０００２】
近年、自動車の中のシステムには、電子制御ユニット（ＥＣＵ：Electronic Control Unit）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ＩＳＯ１１８９８−１で規定されているＣＡＮ（Controller Area Network）という規格が存在する。
【０００３】
ＣＡＮでは、通信路は２本のバスで構成され、バスに接続されているＥＣＵはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。フレームを送信する送信ノードは、２本のバスに電圧をかけ、バス間で電位差を発生させることによって、レセシブと呼ばれる「１」の値と、ドミナントと呼ばれる「０」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを６ｂｉｔ連続して送信することで、送信ノードや他の受信ノードにフレームの異常を通知するものである。
【０００４】
またＣＡＮでは送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎にメッセージＩＤと呼ばれるＩＤ（フレームの識別子）を付けて送信し（つまりバスに信号を送出し）、各受信ノードは予め定められたＩＤのフレームのみを受信する（つまりバスから信号を読み取る）。また、ＣＳＭＡ／ＣＡ（Carrier Sense Multiple Access/Collision Avoidance）方式を採用しており、複数ノードの同時送信時にはメッセージＩＤによる調停が行われ、メッセージＩＤの値が小さいフレームが優先的に送信される。
【０００５】
車載ネットワークにおける複数のバスに接続されたＥＣＵの一種であるゲートウェイ装置（ＧＷ：gateway）は、バス間でフレームを転送する機能を有する。
【０００６】
ところで、ＣＡＮでは、不正なフレームが送信されるようなケースを想定したセキュリティ機能が存在しないため、車載ネットワークにおいて不正なノードがバスに接続され、不正なノードが不正にフレームを送信することで、車体を不正にコントロールしてしまう可能性がある。このような不正なフレームの送信によるコントロールを防止するために、ＣＡＮにおけるデータフィールドにメッセージ認証コード（ＭＡＣ：Message Authentication Code）を付加して送信することで、正規のＥＣＵが送信したフレームを識別する技術が知られている（「特許文献１」参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−９８７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
車両に搭載される各種ＥＣＵ間で授受されるフレームの内容は、車両のセキュリティにおいて重要性が高いものから重要性が低いものまで多岐に亘る。このため、車両に搭載される全てのＥＣＵが、フレームの検証用情報としてのＭＡＣに対応したメッセージ認証機能（検証機能）を有するように車載ネットワークシステムを構築することは、効率的ではない。
【０００９】
そこで、本発明は、車載ネットワークシステムの効率的な実現を可能にすべく、検証用情報の検証機能を有さないＥＣＵを一部に含むネットワークシステムに適した転送方式により効率的にバス間でのフレームの転送を行うためのゲートウェイ装置を提供する。また、本発明は、そのゲートウェイ装置を含む車載ネットワークシステム、及び、その車載ネットワークシステムで用いられる転送方法を提供する。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明の一態様に係るゲートウェイ装置は、複数の電子制御ユニットが通信に用いる１つ以上のバスに接続されたゲートウェイ装置であって、フレームを受信する受信部と、前記受信部により受信されたフレームの内容から当該フレームの検証に用いられる検証用情報を削除して当該フレームの、前記バスの１つである転送先バスへの転送を行う、又は、当該フレームの内容に検証用情報を付加して当該フレームの、前記転送先バスへの転送を行う、転送部とを備えるゲートウェイ装置である。
【００１１】
また、上記課題を解決するために本発明の一態様に係る車載ネットワークシステムは、１以上のバスを介して通信する複数の電子制御ユニットと前記バスに接続されたゲートウェイ装置とを備える車載ネットワークシステムであって、前記ゲートウェイ装置は、フレームを受信する受信部と、前記受信部により受信されたフレームの内容から当該フレームの検証に用いられる検証用情報を削除して当該フレームの、前記バスの１つである転送先バスへの転送を行う、又は、当該フレームの内容に検証用情報を付加して当該フレームの、前記転送先バスへの転送を行う、転送部とを備える車載ネットワークシステムである。
【００１２】
また、上記課題を解決するために本発明の一態様に係る転送方法は、１以上のバスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムにおいて用いられる転送方法であって、フレームを受信する受信ステップと、前記受信ステップでフレームが受信された場合に、前記バスの１つである転送先バスへ、当該フレームを、当該フレームの検証に用いられる検証用情報の削除又は付加をした上で、転送する転送ステップとを含む転送方法である。
【発明の効果】
【００１３】
本発明によれば、検証用情報の検証機能を有さないＥＣＵを一部に含む車載ネットワークシステムで効率的にバス間でのフレームの転送が行われ得る。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係る車載ネットワークシステムの全体構成を示す図である。
【図２】ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。
【図３】実施の形態１に係るＭＡＣ非対応ＥＣＵ（ＭＡＣを処理する機能を有さないＥＣＵ）の構成図である。
【図４】実施の形態１に係るＭＡＣ対応ＥＣＵ（ＭＡＣを処理する機能を有するＥＣＵ）の構成図である。
【図５】実施の形態１に係るゲートウェイの構成図である。
【図６】実施の形態１に係るゲートウェイが保持するバス情報の一例を示す図である。
【図７】実施の形態１に係るゲートウェイが保持する転送ルール情報の一例を示す図である。
【図８】実施の形態１に係るゲートウェイが保持するＭＡＣ鍵リストの一例を示す図である。
【図９】実施の形態１に係るゲートウェイが保持するカウンタリストの一例を示す図である。
【図１０】実施の形態１に係るゲートウェイによるフレームの転送に係る動作例を示すシーケンス図である（図１１に続く）。
【図１１】実施の形態１に係るゲートウェイによるフレームの転送に係る動作例を示すシーケンス図である（図１０から続く）。
【図１２】実施の形態２に係るゲートウェイが保持するＭＡＣ削除条件リストの一例を示す図である。
【図１３】実施の形態２に係るゲートウェイによるフレームの転送に係る動作例を示すシーケンス図である（図１４に続く）。
【図１４】実施の形態２に係るゲートウェイによるフレームの転送に係る動作例を示すシーケンス図である（図１３から続く）。
【図１５】データフレームの標準フォーマット及び拡張フォーマットを示す図である。
【図１６】実施の形態３に係るゲートウェイが保持するバス情報の一例を示す図である。
【図１７】実施の形態３に係るゲートウェイによるフォーマット変換例を示す図である。
【図１８】実施の形態３に係るゲートウェイによる別のフォーマット変換例を示す図である。
【発明を実施するための形態】
【００１５】
本発明の一態様に係るゲートウェイ装置は、複数の電子制御ユニットが通信に用いる１つ以上のバスに接続されたゲートウェイ装置であって、フレームを受信する受信部と、前記受信部により受信されたフレームの内容から当該フレームの検証に用いられる検証用情報を削除して当該フレームの、前記バスの１つである転送先バスへの転送を行う、又は、当該フレームの内容に検証用情報を付加して当該フレームの、前記転送先バスへの転送を行う、転送部とを備えるゲートウェイ装置である。これにより、転送に際して検証用情報の付加或いは削除がなされるので検証用情報の検証機能を有さない電子制御ユニット（ＥＣＵ）を一部に含むネットワークシステムにおいて効率的なフレームの転送が実現され得る。
【００１６】
また、前記転送部は、前記受信部により受信された検証用情報を含む第１フレームについて、前記検証用情報を削除するための所定削除条件が満たされた場合には、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報を含む第２フレームを生成して当該第２フレームを前記転送先バスに送信することで、前記転送を行うこととしても良い。これにより、一定条件下で検証用情報が削除されてフレームの転送が行われるので、検証用情報が削除されて転送された場合における転送先バスのトラフィック量が抑制され得る。また、検証用情報が削除されて転送された場合における転送先バスに接続されたＥＣＵは、検証用情報を処理する必要がなくなる。これは、例えば、ネットワークシステムにおける効率的なＥＣＵの編成の実現に繋がり得る。
【００１７】
また、前記複数の電子制御ユニットは、Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＣＡＮ）プロトコルに従って前記バスを介して通信を行い、前記検証用情報はフレームにおいてデータフィールドに配置されるメッセージ認証コードであり、前記転送部は、前記所定削除条件が満たされた場合には、前記第１フレームにおけるメッセージ認証コード以外のデータフィールドの内容を含み、メッセージ認証コードを含まない第２フレームを前記転送先バスに送信することとしても良い。これにより、車載ネットワークシステムにおいてメッセージ認証コードを用いてフレーム（メッセージ）のセキュリティを高めることが可能であり、また、フレームの転送先となるＥＣＵにおいてメッセージ認証コードが不要な場合において所定削除条件が満たされるように所定削除条件を設定しておくことで、無駄なバス占有時間が削減され得る。
【００１８】
また、前記ゲートウェイ装置は、複数のバスに接続され、前記ゲートウェイ装置は、前記複数のバスから、前記受信部により受信されたフレームの転送先となる前記転送先バスを、選択するための基準を示す転送ルール情報と、バス毎に当該バスが、前記検証用情報に基づくフレームの検証機能を有する電子制御ユニットが接続されている検証対応バスか、前記検証機能を有する電子制御ユニットが接続されていない検証非対応バスかを示すバス情報とを保持する転送ルール保持部を備え、前記転送部は前記転送に際して前記転送ルール情報に基づいて前記転送先バスを選択し、当該転送先バスが検証非対応バスである場合には前記所定削除条件が満たされたとして、前記転送を行うこととしても良い。これにより、フレームの転送先となる転送先バスに、検証用情報に係る検証機能を有するＥＣＵが接続されていない場合に、転送先バスに、有効利用されない検証用情報を含むフレームが送信されることが抑制され得る。
【００１９】
また、前記バス情報は、検証対応バスに接続された前記検証機能を有する電子制御ユニットにより検証されるフレームの識別子である検証メッセージ識別子と、検証されないフレームの識別子である非検証メッセージ識別子とを区別するためのメッセージ識別子情報を含み、前記転送部は、前記転送先バスが検証対応バスである場合において、前記受信部により受信されたフレームの識別子が非検証メッセージ識別子であるときには前記所定削除条件が満たされたとして、前記転送を行うこととしても良い。これにより、例えば、ある識別子（メッセージＩＤ）を有するフレームの転送先となる転送先バスに、その識別子のフレームを検証用情報に基づいて検証機能を有するＥＣＵが接続されていない場合に、転送先バスへの、有効利用されない検証用情報を含むフレームの送信が、抑制され得る。
【００２０】
また、前記転送部は、前記転送先バスのバス占有率が所定値より高い場合に前記所定削除条件が満たされたとして、前記転送を行うこととしても良い。これにより、例えば、転送先バスのトラフィック量が一定量を超えた場合には、転送先バスに接続されたＥＣＵによるフレームの検証の実行確保よりバス占有率の抑制を優先させることが可能となる。
【００２１】
また、前記転送部は、前記転送先バスに送信するフレームに、当該フレームに検証用情報が含まれるか否かを表す情報を含ませることとしても良い。これにより、転送先バスに接続されたＥＣＵにおいて、例えばバス占有率の測定等を行わなくても、受信したフレームに検証用情報が含まれているか否かを容易に確認可能となる。
【００２２】
また、前記ゲートウェイ装置は、前記１以上のバスに接続された電子制御ユニット毎に当該電子制御ユニットが前記検証用情報に基づくフレームの検証機能を有するか否かを示す情報を保持し、前記転送部は、前記受信部により受信されたフレームの転送先となる前記転送先バスに接続されて当該フレームに応じた処理を実行する電子制御ユニットが前記検証機能を有さない場合に、前記所定削除条件が満たされたとして、前記転送を行うこととしても良い。これにより、フレームの転送先となる転送先バスに、そのフレームに対応して検証機能を有するＥＣＵが接続されていない場合に、転送先バスへの、有効利用されない検証用情報を含むフレームの送信が、抑制され得る。
【００２３】
また、前記ゲートウェイ装置は、前記１以上のバスに接続された、前記検証用情報に基づくフレームの検証機能を有する電子制御ユニットにより、検証されるフレームの識別子である検証メッセージ識別子と、検証されないフレームの識別子である非検証メッセージ識別子とを区別するメッセージ識別子情報を保持し、前記転送部は、前記受信部により受信されたフレームの識別子が非検証メッセージ識別子であるときには前記所定削除条件が満たされたとして、前記転送を行うこととしても良い。これにより、例えば、ある識別子（メッセージＩＤ）を有する転送対象のフレームが、ＥＣＵによる検証対象でない場合に、転送先バスへの、有効利用されない検証用情報を含むフレームの送信が、抑制され得る。また、メッセージＩＤ毎に検証用情報（例えばＭＡＣ）を含ませるか否かを定めることが可能となり、同一ＥＣＵへと転送するフレーム（メッセージ）でも、フレームの重要度に応じてＭＡＣを含ませるか否かを変えることが可能となる。
【００２４】
また、前記転送部は、前記受信部により受信されたフレームの前記検証用情報に基づく検証により当該フレームが不正と判定した場合には、前記転送を行わないこととしても良い。これにより、不正なフレームが転送されることが抑制され、転送先のＥＣＵにおいて不正なフレームへ対処するための処理負荷が削減される。
【００２５】
また、前記ゲートウェイ装置は、複数のバスに接続され、前記ゲートウェイ装置は、前記複数のバスから、前記受信部により受信されたフレームの転送先となる前記転送先バスを、選択するための基準を示す転送ルール情報と、バス毎に当該バスとフレームフォーマットとを対応付けたバス情報とを保持する転送ルール保持部を備え、前記転送部は前記転送に際して前記転送ルール情報に基づいて前記転送先バスを選択し、当該転送先バスが前記バス情報により所定のフレームフォーマットに対応付けられている場合には前記所定削除条件が満たされたとして、前記転送を行うこととしても良い。これは、例えば、所定のフレームフォーマットのバスに、フレームの検証用情報に基づく検証機能を有するＥＣＵを接続しないシステム構成において有用である。所定のフレームフォーマットとして、例えば、検証用情報の付加によるバス占有率の上昇が顕著となり易い、フレーム長が比較的短いフレームフォーマットを、定めることが有用となり得る。なお、ゲートウェイ装置は、転送元バスと転送先バスとのそれぞれに対応するフレームフォーマットが相違する場合において転送に際してフレームフォーマット変換を行っても良い。
【００２６】
また、前記ゲートウェイ装置は、複数のバスに接続され、前記ゲートウェイ装置は、前記複数のバスから、前記受信部により受信されたフレームの転送先となる前記転送先バスを、選択するための基準を示す転送ルール情報と、バス毎に当該バスでの通信で用いられる通信プロトコルの種別を対応付けたバス情報とを保持する転送ルール保持部を備え、前記転送部は前記転送に際して前記転送ルール情報に基づいて前記転送先バスを選択し、当該転送先バスが前記バス情報により所定の通信プロトコルに対応付けられている場合には前記所定削除条件が満たされたとして、前記転送を行うこととしても良い。これにより、所定の通信プロトコルで通信するために用いられるバスにおいて検証用情報に基づく検証を行わないようにＥＣＵを編成したシステムにとって、効率的なフレームの転送が行われ得る。
【００２７】
また、前記転送部は、前記受信部により受信された検証用情報を含む第１フレームについて、前記検証用情報を削除するための所定削除条件が満たされなかった場合には、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報と、前記転送先バスに接続された電子制御ユニットと共有している鍵を用いて生成した検証用情報とを含む第２フレームを生成して当該第２フレームを前記転送先バスに送信することとしても良い。これにより、フレームのセキュリティを高めることが可能となる。
【００２８】
また、前記転送部は、前記受信部により受信された、検証用情報を含まないフレームについて、検証用情報を付加するための所定付加条件が満たされた場合には、当該フレームの内容に基づく情報と、検証用情報とを含むフレームを生成して、生成した当該フレームを前記転送先バスに送信することで、前記転送を行うこととしても良い。これにより、例えば、検証用情報が利用されないバスにおいてフレームに検証用情報が含まれなくても、そのフレームに検証用情報が付加されて転送され得るので、転送先バスにおいてフレームについて検証用情報に基づく検証によりセキュリティを高めること等が可能となり得る。
【００２９】
また、前記転送部は、前記受信部により受信されたフレームの内容が暗号化されている場合に当該フレームを復号した後に、復号した当該フレームの内容から検証用情報を削除して、又は、復号した当該フレームの内容に検証用情報を付加して、当該フレームの前記転送を行うこととしても良い。これにより、フレームの転送に際して復号がなされるので、転送先のＥＣＵは、例えば復号機能を有さなくても、受信したフレームを適切に処理できるようになる。
【００３０】
また、前記転送部は、前記受信部により受信された検証用情報を含む第１フレームについて、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報を含み且つ検証用情報を含まない第２フレームを生成して当該第２フレームを前記転送先バスに送信することで、前記転送を行い、更に、当該第１フレームの内容のうち前記検証用情報を除いた内容に基づく情報を含み且つ検証用情報を含み、前記第２フレームとは異なる、フレームの識別子を有する第３フレームを送信することとしても良い。これにより、転送先バスに、検証用情報に基づき検証するための検証機能を有するＥＣＵとその検証機能を有さないＥＣＵとが接続されている場合であっても、検証機能を有さないＥＣＵは第２フレームを受信して処理することができ、検証機能を有するＥＣＵは第３フレームを受信して検証をした上で処理することができるようになる。この場合には、検証機能を有さないＥＣＵにとって検証用情報に対応する処理負荷が削減される。
【００３１】
また、本発明の一態様に係る車載ネットワークシステムは、１以上のバスを介して通信する複数の電子制御ユニットと前記バスに接続されたゲートウェイ装置とを備える車載ネットワークシステムであって、前記ゲートウェイ装置は、フレームを受信する受信部と、前記受信部により受信されたフレームの内容から当該フレームの検証に用いられる検証用情報を削除して当該フレームの、前記バスの１つである転送先バスへの転送を行う、又は、当該フレームの内容に検証用情報を付加して当該フレームの、前記転送先バスへの転送を行う、転送部とを備える車載ネットワークシステムである。これにより、何らかの通信路（例えば１つのバス）から受信したフレームの転送先バスへの転送に際して検証用情報の付加或いは削除がなされるので検証用情報の検証機能を有さない電子制御ユニット（ＥＣＵ）を一部に含む車載ネットワークシステムにおいて効率的なフレームの転送が実現され得る。
【００３２】
また、前記車載ネットワークシステムは、電子制御ユニットが接続されている複数のバスを備え、前記ゲートウェイ装置は、前記複数のバスに接続され、前記ゲートウェイ装置は、前記複数のバスから、前記受信部により受信されたフレームの転送先となる前記転送先バスを、選択するための基準を示す転送ルール情報を保持する転送ルール保持部を備え、前記転送部は前記受信部により受信されたフレームの前記転送に際して前記転送ルール情報に基づいて前記転送先バスを選択し、当該転送先バスが、検証用情報に基づくフレームの検証機能を有する電子制御ユニットが接続されているバスであるか否かに応じて、当該フレームについて検証用情報の削除又は付加をして前記転送を行うこととしても良い。これにより、フレームの転送先となる転送先バスに、検証用情報に係る検証機能を有するＥＣＵが接続されていない場合に、転送先バスに、有効利用されない検証用情報を含むフレームが送信されることが抑制され得る。
【００３３】
また、本発明の一態様に係る転送方法は、１以上のバスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムにおいて用いられる転送方法であって、フレームを受信する受信ステップと、前記受信ステップでフレームが受信された場合に、前記バスの１つである転送先バスへ、当該フレームを、当該フレームの検証に用いられる検証用情報の削除又は付加をした上で、転送する転送ステップとを含む転送方法である。これにより、フレームの転送先バスへの転送に際して検証用情報の付加或いは削除がなされるので、検証用情報の検証機能を有さない電子制御ユニット（ＥＣＵ）を一部に含む車載ネットワークシステムにおいて効率的なフレームの転送が実現され得る。
【００３４】
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
【００３５】
以下、実施の形態に係るゲートウェイ装置を含む車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ（工程）及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【００３６】
（実施の形態１）
以下、本発明の実施の形態として、ゲートウェイ装置を含む複数の電子制御ユニット（ＥＣＵ）がバスを介して通信する車載ネットワークシステム１について、図面を用いて説明する。本実施の形態に係るゲートウェイ装置は、受信したフレーム（メッセージとも称する）について転送先のバスへと転送するために所定の転送方法を用いる。この転送方法では、フレームの転送に際して、フレームの検証のための検証用情報であるメッセージ認証コード（ＭＡＣ）を、一定条件下で削除し、或いは、一定条件下で付加する。例えば、ＭＡＣを検証する検証機能を有するＥＣＵが接続されていないバス（検証機能を有さないＥＣＵが接続されているバス）にフレームを転送する場合に、ゲートウェイ装置は、受信したフレームからＭＡＣを削除して転送先のバスに送信することで転送を行う。このため、転送先のバスのトラフィック量の低減化が可能となり、また、そのバスに接続されたＥＣＵはＭＡＣに関する処理を行う必要がなくなる。
【００３７】
［１．１  車載ネットワークシステム１の全体構成］
図１は、実施の形態１に係る車載ネットワークシステム１の全体構成を示す図である。車載ネットワークシステム１は、ＣＡＮプロトコルに従って通信するネットワーク通信システムの一例であり、制御装置、センサ等の各種機器が搭載された自動車におけるネットワーク通信システムである。車載ネットワークシステム１は、ＣＡＮのバス１０〜７０により接続された、複数のＥＣＵ（ＥＣＵ１００、１０１、２００、２０１、３００、３０１、４００、４０１、５００、６００、７００）とゲートウェイ９０といった各ノードを含んで構成される。なお、図１では省略しているものの、車載ネットワークシステム１には、更に多くのＥＣＵが含まれ得る。ＥＣＵは、例えば、プロセッサ（マイクロプロセッサ）、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ、ＲＡＭ等であり、プロセッサにより実行される制御プログラム（コンピュータプログラム）を記憶することができる。例えばプロセッサが、制御プログラム（コンピュータプログラム）に従って動作することにより、ＥＣＵは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【００３８】
バス１０には、それぞれエンジン１１０、トランスミッション１１１に接続されたＥＣＵ１００及びＥＣＵ１０１を含む、モータ、燃料、電池の制御といった車両の「走る」（走行）に関連する駆動系のＥＣＵが、接続されている。
【００３９】
バス２０には、それぞれブレーキ２１０、ステアリング２１１に接続されたＥＣＵ２００及びＥＣＵ２０１を含む、「曲がる」、「止まる」等といった車両の挙動等の制御に関連するシャーシ系のＥＣＵが、接続されている。
【００４０】
バス３０には、それぞれ自動ブレーキ３１０、車線維持装置３１１に接続されたＥＣＵ３００及びＥＣＵ３０１を含む、車間距離維持機能、衝突防止機能、エアバッグ等に関連する安全快適機能系のＥＣＵが、接続されている。
【００４１】
バス４０には、それぞれドア４１０、ライト４１１に接続されたＥＣＵ４００及びＥＣＵ４０１を含む、エアコン、ウィンカー等といった車両の装備の制御に関連するボディ系のＥＣＵが、接続されている。
【００４２】
バス５０には、インストルメントパネル５１０に接続されたＥＣＵ５００（ヘッドユニット）を含む、カーナビゲーション、オーディオ等に関連したインフォテインメント系のＥＣＵが、接続されている。
【００４３】
バス６０には、ＩＴＳ（Intelligent Transport Systems）装置６１０に接続されたＥＣＵ６００を含む、ＥＴＣ（Electronic Toll Collection System）等の高度道路交通システムに対応するＩＴＳ系のＥＣＵが、接続されている。
【００４４】
バス７０には、例えばＯＢＤ２（On-Board Diagnostics２）等といった、外部の故障診断ツール等と通信するためのインタフェースである診断ポート７１０に接続されたＥＣＵ７００が、接続されている。なお、ＥＣＵ７００を除き診断ポート７１０をバス７０に接続していても良い。ここで示した各バスに接続されたＥＣＵに接続されている機器は、一例に過ぎず、例えば、他の１台又は複数台の機器に置き換えても良いし、省いても良い。
【００４５】
ＥＣＵ（ＥＣＵ１００、２００等）のそれぞれは、接続されている機器（エンジン１１０、ブレーキ２１０等）の状態を取得し、定期的に状態を表すフレーム等をネットワーク（つまりＣＡＮのバス）に送信している。
【００４６】
バス１０に接続されたＥＣＵ１００、１０１と、バス２０に接続されたＥＣＵ２００、２０１と、バス３０に接続されたＥＣＵ３００、３０１とは、ＭＡＣ対応ＥＣＵであり、メッセージ認証コード（ＭＡＣ）を処理する機能（ＭＡＣの生成機能、ＭＡＣの検証機能）を有する。また、バス４０に接続されたＥＣＵ４００、４０１と、バス５０に接続されたＥＣＵ５００と、バス６０に接続されたＥＣＵ６００と、バス７０に接続されたＥＣＵ７００とは、ＭＡＣ非対応ＥＣＵであり、ＭＡＣを処理する機能（ＭＡＣの生成機能、ＭＡＣの検証機能）を有さない。
【００４７】
ゲートウェイ９０は、異なる複数の通信路を接続して通信路間でデータを転送するゲートウェイ装置である。ゲートウェイ９０は、バス１０、バス２０、バス３０、バス４０、バス５０、バス６０及びバス７０と接続している。つまり、ゲートウェイ９０は、一方のバスから受信したフレーム（データフレーム）を、一定条件下で他のバス（つまり条件に応じて選択した転送先バス）に転送する機能を有する一種のＥＣＵである。ゲートウェイ９０は、例えば、一方のバスから受信した、ＭＡＣを含むフレームについて転送する。この転送は、具体的には、受信したＭＡＣを含むフレームの内容に基づく情報を含む送信用フレームであってＭＡＣ（例えば、受信したＭＡＣと同一のＭＡＣ、或いは、新たに生成したＭＡＣ）を含む送信用フレームを生成して、その送信用フレームを転送先バスに送信することである。また、ゲートウェイ９０は、一方のバスから受信した、ＭＡＣを含むフレームについて一定条件下でＭＡＣを削除した上で転送する。フレームからＭＡＣを削除して転送することは、具体的には、受信したＭＡＣを含むフレームの内容のうち、ＭＡＣ以外の部分に基づく情報を含む送信用フレームを生成して、その送信用フレームにＭＡＣを含ませずに転送先バスに送信することである。また、ゲートウェイ９０は、一方のバスから受信した、ＭＡＣを含まないフレームについて一定条件下でＭＡＣを付加した上で転送する。フレームにＭＡＣを付加して転送することは、具体的には、受信したフレームの内容に基づく情報を含む送信用フレームを生成して、その送信用フレームにＭＡＣを含ませて転送先バスに送信することである。ゲートウェイ９０は、受信したフレームを転送するかしないかを接続されたバス間毎に切り替え得る。なお、車載ネットワークシステム１には、図１に示さないバスも含まれ得るし、ゲートウェイ９０以外の１台以上のゲートウェイ装置が含まれ得る。
【００４８】
この車載ネットワークシステム１においてはＣＡＮプロトコルに従って各ＥＣＵがフレームの授受を行う。ＣＡＮプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがあるが、ここでは主にデータフレームに注目して説明する。
【００４９】
［１．２  データフレームフォーマット］
以下、ＣＡＮプロトコルに従ったネットワークで用いられるフレームの１つであるデータフレームについて説明する。
【００５０】
図２は、ＣＡＮプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、ＣＡＮプロトコルで規定される標準フォーマット（標準ＩＤフォーマット）におけるデータフレームを示している。データフレームは、ＳＯＦ（Start Of Frame）、ＩＤフィールド、ＲＴＲ（Remote Transmission Request）、ＩＤＥ（Identifier Extension）、予約ビット「ｒ」、ＤＬＣ（Data Length Code）、データフィールド、ＣＲＣ（Cyclic Redundancy Check）シーケンス、ＣＲＣデリミタ「ＤＥＬ」、ＡＣＫ（Acknowledgement）スロット、ＡＣＫデリミタ「ＤＥＬ」、及び、ＥＯＦ（End Of Frame）の各フィールドで構成される。
【００５１】
ＳＯＦは、１ｂｉｔのドミナントで構成される。バスがアイドルの状態はレセシブになっており、ＳＯＦによりドミナントへ変更することでフレームの送信開始を通知する。
【００５２】
ＩＤフィールドは、１１ｂｉｔで構成される、データの種類を示す値であるＩＤ（つまりフレームにおける識別子であるメッセージＩＤ）を格納するフィールドである。複数のノードが同時に送信を開始した場合、このＩＤフィールドで通信調停を行うために、ＩＤが小さい値を持つフレームが高い優先度となるよう設計されている。
【００５３】
ＲＴＲは、データフレームとリモートフレームとを識別するための値であり、データフレームにおいてはドミナント１ｂｉｔで構成される。
【００５４】
ＩＤＥと「ｒ」とは、両方ドミナント１ｂｉｔで構成される。
【００５５】
ＤＬＣは、４ｂｉｔで構成され、データフィールドの長さを示す値である。なお、ＩＤＥ、「ｒ」及びＤＬＣを合わせてコントロールフィールドと称する。
【００５６】
データフィールドは、最大６４ｂｉｔで構成される送信するデータの内容を示す値である。８ｂｉｔ毎に長さを調整できる。送られるデータの仕様については、ＣＡＮプロトコルで規定されておらず、車載ネットワークシステム１において定められる。従って、車種、製造者（製造メーカ）等に依存した仕様となる。
【００５７】
ＣＲＣシーケンスは、１５ｂｉｔで構成される。ＳＯＦ、ＩＤフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。
【００５８】
ＣＲＣデリミタは、１ｂｉｔのレセシブで構成されるＣＲＣシーケンスの終了を表す区切り記号である。なお、ＣＲＣシーケンス及びＣＲＣデリミタを合わせてＣＲＣフィールドと称する。
【００５９】
ＡＣＫスロットは、１ｂｉｔで構成される。送信ノードはＡＣＫスロットをレセシブにして送信を行う。受信ノードはＣＲＣシーケンスまで正常に受信ができていればＡＣＫスロットをドミナントとして送信する。レセシブよりドミナントが優先されるため、送信後にＡＣＫスロットがドミナントであれば、送信ノードは、いずれかの受信ノードが受信に成功していることを確認できる。
【００６０】
ＡＣＫデリミタは、１ｂｉｔのレセシブで構成されるＡＣＫの終了を表す区切り記号である。
【００６１】
ＥＯＦは、７ｂｉｔのレセシブで構成されており、データフレームの終了を示す。
【００６２】
図２において（ａ）は、ＭＡＣ非対応ＥＣＵが送受信するフレームのデータフィールドの内容例を示しており、データフィールドは、ＭＡＣを含まずにデータ８０ａのみを含む。
【００６３】
図２において（ｂ）は、ＭＡＣ対応ＥＣＵが送受信するフレームのデータフィールドの内容例を示しており、データフィールドは、データ８０ｂとＭＡＣ８１とを含む。この（ｂ）に例示する内容のフレームをゲートウェイ９０が受信して、例えばＭＡＣ対応ＥＣＵが接続されておらずＭＡＣ非対応ＥＣＵが接続されている転送先バスに転送する場合には、データフィールド内のＭＡＣを削除したフレームが転送されることになる。
【００６４】
また、（ｂ）では、データとＭＡＣとをそれぞれ３２ビットとしているが、これは一例に過ぎず、これ以外のサイズであっても良い。ＭＡＣのサイズはメッセージＩＤ毎に予め定めておくこととしても良い。また、バス毎にＭＡＣのサイズを定めておくこととしても良い。また、（ｂ）では、データとＭＡＣとを１つのフレーム内に含ませているが、データとＭＡＣとを別々のフレーム各々におけるデータフィールドに含ませて送信しても良い。この場合に、例えばＭＡＣ対応ＥＣＵが接続されておらずＭＡＣ非対応ＥＣＵが接続されている転送先バスに転送する場合には、ゲートウェイ９０は、データを含むフレームを転送してＭＡＣを含んだフレームを転送しないように制御しても良い。
【００６５】
［１．３  ＭＡＣ非対応ＥＣＵの構成］
図３は、ＭＡＣ非対応ＥＣＵであるＥＣＵ４００の構成図である。ＥＣＵ４００は、ＭＡＣを処理する機能（ＭＡＣの生成機能、ＭＡＣの検証機能）に係る構成を有さず、フレーム送受信部８００と、フレーム解釈部８０１と、受信ＩＤ判断部８０２と、受信ＩＤリスト保持部８０３と、フレーム処理部８０４と、フレーム生成部８０５と、データ取得部８０６とを含んで構成される。これらの各構成要素の各機能は、例えばＥＣＵ４００における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。
【００６６】
フレーム送受信部８００は、バス４０に対して、ＣＡＮプロトコルに従ったフレームを送受信する。バス４０からフレームを１ｂｉｔずつ受信し、フレーム解釈部８０１に通知する。また、フレーム生成部８０５より通知を受けたフレームの内容をバス４０に送信する。
【００６７】
フレーム解釈部８０１は、フレーム送受信部８００よりフレームの値を受け取り、ＣＡＮプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。ＩＤフィールドと判断した値は受信ＩＤ判断部８０２へ通知する。フレーム解釈部８０１は、受信ＩＤ判断部８０２から通知される判定結果に応じて、ＩＤフィールドの値と、ＩＤフィールド以降に現れるデータフィールドとを、フレーム処理部８０４へ通知するか、その判定結果を受けた以降においてフレームの受信を中止する（つまりそのフレームとしての解釈を中止する）かを決定する。また、フレーム解釈部８０１は、ＣＡＮプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部８０５へ通知する。また、フレーム解釈部８０１は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。
【００６８】
受信ＩＤ判断部８０２は、フレーム解釈部８０１から通知されるＩＤフィールドの値を受け取り、受信ＩＤリスト保持部８０３が保持しているメッセージＩＤのリストに従い、そのＩＤフィールド以降のフレームの各フィールドを受信するかどうかの判定を行う。この判定結果を、受信ＩＤ判断部８０２は、フレーム解釈部８０１へ通知する。
【００６９】
受信ＩＤリスト保持部８０３は、ＥＣＵ４００が受信するＩＤ（メッセージＩＤ）のリストである受信ＩＤリストを保持する。例えば、ＥＣＵ４００が０ｘ１００、０ｘ２００というＩＤのメッセージを受信して処理する場合においては、これらの０ｘ１００、０ｘ２００というＩＤのリストが受信ＩＤリストに予め登録されている。
【００７０】
フレーム処理部８０４は、受信したフレームのデータに応じてＥＣＵ毎に異なる機能に係る処理を行う。例えば、ドア４１０に接続されたＥＣＵ４００は、ブレーキがかかっていない状況でドアが開くとアラーム音を鳴らす機能を備える。ＥＣＵ４００は、例えばアラーム音を鳴らすためのスピーカ等を有している。そして、ＥＣＵ４００のフレーム処理部８０４は、他のＥＣＵから受信したデータを管理し、ドア４１０から取得されたドアの開閉状態等に基づいて一定条件下でアラーム音を鳴らす処理等を行う。なお、フレーム処理部８０４は、ここで例示した以外のフレームのデータに係る処理を行っても良い。
【００７１】
データ取得部８０６は、ＥＣＵにつながっている機器、センサ等の状態を示すデータを取得し、フレーム生成部８０５に通知する。
【００７２】
フレーム生成部８０５は、フレーム解釈部８０１から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部８００へ通知して送信させる。また、フレーム生成部８０５は、データ取得部８０６より通知されたデータの値に対して、予め定められたメッセージＩＤをつけてフレームを構成し、フレーム送受信部８００へ通知する。
【００７３】
なお、ＥＣＵ４０１、５００、６００、７００も、ＭＡＣ非対応ＥＣＵであり、上述したＥＣＵ４００と基本的に同様の構成を備える。但し、受信ＩＤリスト保持部８０３に保持される受信ＩＤリストはＥＣＵ毎に異なる内容となり得る。また、フレーム処理部８０４の処理内容は、ＥＣＵ毎に異なる。ＥＣＵ４０１のフレーム送受信部８００は、バス４０に対して、フレームを送受信し、ＥＣＵ５００のフレーム送受信部８００は、バス５０に対して、フレームを送受信し、ＥＣＵ６００のフレーム送受信部８００は、バス６０に対して、フレームを送受信し、ＥＣＵ７００のフレーム送受信部８００は、バス７０に対して、フレームを送受信する。
【００７４】
［１．４  ＭＡＣ対応ＥＣＵの構成］
図４は、ＭＡＣ対応ＥＣＵであるＥＣＵ１００の構成図である。ＥＣＵ１００は、ＭＡＣを処理する機能（ＭＡＣの生成機能、ＭＡＣの検証機能）に係る構成を有し、フレーム送受信部８１０と、フレーム解釈部８１１と、受信ＩＤ判断部８１２と、受信ＩＤリスト保持部８１３と、フレーム処理部８１４と、フレーム生成部８１５と、データ取得部８１６と、ＭＡＣ制御部８２０と、ＭＡＣ鍵保持部８２１と、カウンタ保持部８２２とを含んで構成される。これらの各構成要素の各機能は、例えばＥＣＵ１００における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。
【００７５】
フレーム送受信部８１０と、フレーム解釈部８１１と、受信ＩＤ判断部８１２と、受信ＩＤリスト保持部８１３と、フレーム処理部８１４と、フレーム生成部８１５と、データ取得部８１６とは、ＭＡＣ非対応ＥＣＵである上述のＥＣＵ４００のフレーム送受信部８００と、フレーム解釈部８０１と、受信ＩＤ判断部８０２と、受信ＩＤリスト保持部８０３と、フレーム処理部８０４と、フレーム生成部８０５と、データ取得部８０６とそれぞれ同様の機能を有するので、ここでは説明を適宜省略する。
【００７６】
フレーム送受信部８１０は、バス１０に対して、ＣＡＮプロトコルに従ったフレームを送受信する。
【００７７】
ＭＡＣ制御部８２０は、ＣＡＮのデータフレームのデータフィールドに配置されるＭＡＣ（図２の（ｂ）参照）の生成、及び、ＭＡＣの検証をする。フレーム送受信部８１０によるデータフレームの受信時には、ＭＡＣ制御部８２０は、フレーム解釈部８１１から取得したフレームの内容であるメッセージＩＤ及びデータの値と、カウンタ保持部８２２が保持するカウンタ値とを結合した値に対して、ＭＡＣ鍵保持部８２１が保持するＭＡＣ鍵を用いて、ＭＡＣ値を計算し、計算結果であるＭＡＣ値とフレーム解釈部８１１から取得したフレームの内容であるＭＡＣ値とを比較する。ＭＡＣ制御部８２０は、その比較の結果が一致しなければ、不正なメッセージと判定し、そのフレームの処理を中止して、例えばエラーフレームを送信するようにフレーム生成部８１５へ通知する。フレーム送受信部８１０によるデータフレームの送信に際しては、ＭＡＣ制御部８２０は、データ取得部８１６からのデータに基づいてフレーム生成部８１５が構成したフレームの内容であるメッセージＩＤ及びデータの値と、カウンタ保持部８２２が保持するカウンタ値とを結合した値に対して、ＭＡＣ鍵保持部８２１が保持するＭＡＣ鍵を用いて、ＭＡＣ値を計算し、計算結果であるＭＡＣ値をフレーム生成部８１５に通知して送信用のフレームに設定させる。ＭＡＣ制御部８２０は、ＭＡＣ鍵を用いてＭＡＣを計算し、出てきた計算結果の例えば先頭４ｂｙｔｅｓをＭＡＣ値とする。なお、ここでは、ＭＡＣを計算するために、メッセージＩＤと、データの値と、カウンタ保持部８２２で保持するカウンタ値との３つを用いる例を説明したが、そのいずれか１つ又は２つだけをＭＡＣの計算に用いても良いし、ＭＡＣの計算に、フレーム内の他のフィールドの内容（例えばＤＬＣ等）を用いても良い。ＭＡＣの計算方法としては、例えばＨＭＡＣ（Hash-based Message Authentication Code)、ＣＢＣ−ＭＡＣ（Cipher Block Chaining Message Authentication Code）等を用いることができる。
【００７８】
ＭＡＣ鍵保持部８２１は、ＭＡＣ値を計算するために必要となるＭＡＣ鍵を保持する。
【００７９】
カウンタ保持部８２２は、ＭＡＣ値を計算するために必要となるカウンタ値を保持する。ＥＣＵ１００においてフレームを正常に送受信した場合はカウンタ保持部８２２のカウンタ値が１増加（インクリメント）される。カウンタ値は、例えば送受信するフレームのメッセージＩＤ毎に保持される。
【００８０】
フレーム生成部８１５は、フレーム解釈部８１１から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部８１０へ通知して送信させる。また、フレーム生成部８１５は、データ取得部８１６より通知されたデータの値に対して、予め定められたメッセージＩＤをつけてフレームを構成し、フレームにＭＡＣ制御部８２０より通知されたＭＡＣの値を設定して、フレーム送受信部８１０へ通知する。
【００８１】
なお、ＥＣＵ１０１、２００、２０１、３００、３０１も、ＭＡＣ対応ＥＣＵであり、上述したＥＣＵ１００と基本的に同様の構成を備える。但し、受信ＩＤリスト保持部８１３に保持される受信ＩＤリストはＥＣＵ毎に異なる内容となり得る。また、フレーム処理部８１４の処理内容は、ＥＣＵ毎に異なる。また、ＭＡＣ対応ＥＣＵ各々のＭＡＣ鍵保持部８２１は、例えば、そのＥＣＵが処理するメッセージＩＤ毎に異なるＭＡＣ鍵を保持する。なお、ＭＡＣ対応ＥＣＵ各々のＭＡＣ鍵保持部８２１は、メッセージＩＤに依らずそのＥＣＵが接続されるバス毎に統一したＭＡＣ鍵を保持することとしても良いし、いずれも同じＭＡＣ鍵を保持することとしても良い。ＥＣＵ１０１のフレーム送受信部８１０は、バス１０に対して、フレームを送受信し、ＥＣＵ２００、２０１のフレーム送受信部８１０は、バス２０に対して、フレームを送受信し、ＥＣＵ３００、３０１のフレーム送受信部８１０は、バス３０に対して、フレームを送受信する。
【００８２】
［１．５  ゲートウェイ９０の構成］
図５は、ゲートウェイ９０の構成図である。ゲートウェイ９０は、フレーム送受信部９０１と、フレーム解釈部９０２と、受信ＩＤ判断部９０３と、受信ＩＤリスト保持部９０４と、フレーム生成部９０５と、転送制御部９０６と、転送ルール保持部９０７と、ＭＡＣ制御部９２０と、ＭＡＣ鍵保持部９２１と、カウンタ保持部９２２とを含んで構成される。これらの各構成要素の各機能は、例えばゲートウェイ９０における通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。
【００８３】
フレーム送受信部９０１は、バス１０、バス２０、バス３０、バス４０、バス５０、バス６０、及び、バス７０のそれぞれに対して、ＣＡＮプロトコルに従ったフレームを送受信する。フレーム送受信部９０１は、バスからフレームを１ｂｉｔずつ受信し、フレーム解釈部９０２に通知する受信部として機能する。また、フレーム生成部９０５より通知を受けた転送先のバスを示す転送先バス情報及びフレームに基づいて、そのフレームの内容を、バス１０、バス２０、バス３０、バス４０、バス５０、バス６０、及び、バス７０のうち転送先バスに、１ｂｉｔずつ送信する。
【００８４】
フレーム解釈部９０２は、フレーム送受信部９０１よりフレームの値を受け取り、ＣＡＮプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。ＩＤフィールドと判断した値は受信ＩＤ判断部９０３へ通知する。フレーム解釈部９０２は、受信ＩＤ判断部９０３から通知される判定結果に応じて、ＩＤフィールドの値と、ＩＤフィールド以降に現れるデータフィールド（データ）とを、転送制御部９０６へ通知するか、その判定結果を受けた以降においてフレームの受信を中止するかを決定する。また、フレーム解釈部９０２は、ＣＡＮプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部９０５へ通知する。また、フレーム解釈部９０２は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。
【００８５】
受信ＩＤ判断部９０３は、フレーム解釈部９０２から通知されるＩＤフィールドの値を受け取り、受信ＩＤリスト保持部９０４が保持しているメッセージＩＤのリストに従い、そのＩＤフィールド以降のフレームの各フィールドを受信するかどうかの判定を行う。この判定結果を、受信ＩＤ判断部９０３は、フレーム解釈部９０２へ通知する。
【００８６】
受信ＩＤリスト保持部９０４は、ゲートウェイ９０が受信するメッセージＩＤのリストである受信ＩＤリストを保持する。受信ＩＤリストには、各バス（バス１０〜７０）からゲートウェイ９０が受信すべきフレームのメッセージＩＤが登録されている。なお、受信ＩＤリスト保持部９０４は、バス毎に別々の受信ＩＤリストを保持しても良いし、全体で１つの受信ＩＤリストを保持しても良い。
【００８７】
転送制御部９０６は、転送ルール保持部９０７が保持する転送ルールに従って、受信したフレームのＩＤ（メッセージＩＤ）、及び、転送元バス（つまりそのフレームを受信したバス）に応じて、転送先バスを選択し、転送先バスを示す転送先バス情報とフレーム解釈部９０２より通知されたメッセージＩＤとデータ（データフィールドの内容）と、ＤＬＣ（データ長）とをフレーム生成部９０５へ通知する。転送制御部９０６は、転送ルール保持部９０７が保持するバス情報（バス毎にＭＡＣ対応バスかＭＡＣ非対応バスかを示す情報）と転送ルール情報とを参照し、受信したフレームの転送元バスと転送先バスとがＭＡＣ対応バスであるか否かを確認する。ＭＡＣ対応バスは、ＭＡＣ対応ＥＣＵが接続されているバスであり、ＭＡＣ非対応バスは、ＭＡＣ対応ＥＣＵが接続されていないバスである。ＭＡＣ非対応バスには、ＭＡＣ非対応ＥＣＵが接続され得る。
【００８８】
転送元バスがＭＡＣ対応バスで且つ転送先バスがＭＡＣ非対応の場合には転送制御部９０６は、ＭＡＣ制御部９２０にＭＡＣ検証を依頼し、ＭＡＣ制御部９２０によるＭＡＣ検証に成功したとき（つまり転送元バスから受信したフレーム内のＭＡＣが計算したＭＡＣと一致したとき）には、適正なフレーム（メッセージ）と判定してＭＡＣを削除したデータフレームを転送するようフレーム生成部９０５に通知し、ＭＡＣ検証に失敗したときには不正なフレームと判定して、フレームの転送を中止する。
【００８９】
また、転送元バスがＭＡＣ対応バスで且つ転送先バスがＭＡＣ対応バスの場合には転送制御部９０６は、ＭＡＣ制御部９２０にＭＡＣ検証を依頼し、ＭＡＣ制御部９２０によるＭＡＣ検証に成功したときには、適正なフレームと判定してＭＡＣを削除せずにデータフレームを転送するようフレーム生成部９０５に通知し、ＭＡＣ検証に失敗したときには不正なフレームと判定して、フレームの転送を中止する。ＭＡＣを削除しない場合において、バス毎にＭＡＣ鍵が異なるようにしているのであれば、ＭＡＣを転送先バスに合わせたＭＡＣ鍵で生成したものに付け替えてフレームの転送が行われる。
【００９０】
また、転送元バスがＭＡＣ非対応バスで且つ転送先バスがＭＡＣ対応バスの場合には転送制御部９０６は、ＭＡＣ制御部９２０にＭＡＣ生成を依頼し、ＭＡＣ制御部９２０で生成されたＭＡＣ値を、データフィールドに付加してフレームの転送を行うようにフレーム生成部９０５に通知する。
【００９１】
また、転送元バスがＭＡＣ非対応バスで且つ転送先バスがＭＡＣ非対応バスの場合には転送制御部９０６は、ＭＡＣ制御部９２０にＭＡＣの検証及び生成を依頼せずに、フレームを転送するようフレーム生成部９０５に通知する。
【００９２】
ＭＡＣ制御部９２０は、ＭＡＣの生成、及び、ＭＡＣの検証をする機能を有する。ＭＡＣ制御部９２０は、転送制御部９０６からのＭＡＣ検証の依頼（要求）があった場合は、転送制御部９０６より通知されるメッセージＩＤと、データの値と、カウンタ保持部９２２で保持するカウンタ値（そのメッセージＩＤと対応してカウンタリスト９２２０で管理されたカウンタ値）とを結合した値に対し、ＭＡＣ鍵保持部９２１が保持するＭＡＣ鍵（そのメッセージＩＤと対応してＭＡＣ鍵リスト９２１０で管理されたＭＡＣ鍵）を用いて、ＭＡＣ値を計算し、計算結果であるＭＡＣ値と、転送制御部９０６より通知される、受信されたフレームのデータフィールド内のＭＡＣ値とを比較する。比較の結果が一致すれば検証に成功した旨を転送制御部９０６に通知し、一致しなければ検証に失敗した旨を転送制御部９０６に通知する。また、ＭＡＣ制御部９２０は、転送制御部９０６からのＭＡＣ生成の依頼（要求）があった場合は、転送制御部９０６より通知されるメッセージＩＤと、データの値と、カウンタ保持部９２２で保持するカウンタ値（そのメッセージＩＤと対応してカウンタリスト９２２０で管理されたカウンタ値）とを結合した値に対し、ＭＡＣ鍵保持部９２１が保持するＭＡＣ鍵（そのメッセージＩＤと対応してＭＡＣ鍵リスト９２１０で管理されたＭＡＣ鍵）を用いて、ＭＡＣ値を計算し、計算結果であるＭＡＣ値を転送制御部９０６へと通知する。ＭＡＣ制御部９２０は、ＭＡＣ鍵を用いてＭＡＣを計算し、出てきた計算結果の例えば先頭４ｂｙｔｅｓをＭＡＣ値とする。なお、ここでは、ＭＡＣを計算するために、メッセージＩＤと、データの値と、カウンタ保持部９２２で保持するカウンタ値との３つを用いる例を説明したが、そのいずれか１つ又は２つだけをＭＡＣの計算に用いても良いし、ＭＡＣの計算に、フレーム内の他のフィールドの内容（例えばＤＬＣ等）を用いても良い。ＭＡＣの計算方法としては、例えばＨＭＡＣ（Hash-based Message Authentication Code)、ＣＢＣ−ＭＡＣ（Cipher Block Chaining Message Authentication Code）等を用いることができる。
【００９３】
ＭＡＣ鍵保持部９２１は、ＭＡＣ値を計算するために必要となるＭＡＣ鍵を管理するＭＡＣ鍵リスト９２１０を保持する。ＭＡＣ鍵リスト９２１０については図８を用いて後に説明する。
【００９４】
カウンタ保持部９２２は、ＭＡＣ値を計算するために必要となるカウンタ値を管理するカウンタリスト９２２０を保持する。カウンタリスト９２２０については図９を用いて後に説明する。カウンタ値は、例えばバス毎において、送受信するフレームのメッセージＩＤ毎に保持される。ゲートウェイ９０においてフレームを正常に送受信した場合はカウンタ保持部９２２が、保持するカウンタリスト９２２０における、対応するメッセージＩＤのカウンタ値が１増加（インクリメント）される。カウンタ保持部９２２は、例えばバス毎にカウンタリスト９２２０を保持しても良い。
【００９５】
転送ルール保持部９０７は、バス毎のフレームの転送についてのルールを表す情報である転送ルール情報、及び、各バスがＭＡＣ対応バスかＭＡＣ非対応バスかを示すバス情報を保持する。図６は、バス情報の一例を示し、図７は、転送ルール情報の一例を示す。
【００９６】
フレーム生成部９０５は、フレーム解釈部９０２から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部９０１へ通知して送信させる。また、フレーム生成部９０５は、転送制御部９０６から送信の要求に従い、転送制御部９０６より通知されたメッセージＩＤと、データフィールドの内容とを用いて送信用フレームを構成し、その送信用フレーム及び転送先バス情報（転送先バスの識別子であるバスＩＤ）をフレーム送受信部９０１へ通知する。
【００９７】
［１．６  バス情報］
図６は、ゲートウェイ９０の転送ルール保持部９０７が保持するバス情報の一例を示す。図６のバス情報９０７０は、各バスがＭＡＣ対応バスであるかＭＡＣ非対応バスであるかをバス毎に示した情報である。
【００９８】
図６の例は、図１で示した各バスの符号が、そのバスの識別子（バスＩＤ）であることとした例である。図６の例では、バスＩＤが１０であるバス１０はＭＡＣ対応バスであり、このバス１０にはＭＡＣ対応ＥＣＵが接続されていることを示しており、つまりバス１０に接続されているＥＣＵ１００、１０１がＭＡＣ対応ＥＣＵであることを示している。また、バスＩＤが４０であるバス４０は、ＭＡＣ非対応バスであり、このバス４０にはＭＡＣ対応ＥＣＵが接続されていないことを示しており、つまりバス４０に接続されているＥＣＵ４００、４０１がＭＡＣ非対応ＥＣＵであることを示している。
【００９９】
［１．７  転送ルール情報］
図７は、ゲートウェイ９０の転送ルール保持部９０７が保持する転送ルール情報の一例を示す。図７の転送ルール情報９０７１は、転送元バスと転送先バスと転送対象のデータフレーム（メッセージ）のＩＤ（メッセージＩＤ）とを対応付けている。この転送ルール情報９０７１は、ゲートウェイ９０が、複数のバスから、受信されたフレームの転送先となる転送先バスを、選択するための基準を示す。
【０１００】
図７における転送元バスＩＤは、ゲートウェイ９０が受信するフレームがどのバスから受信されたかを示すバスＩＤである。図７における転送先バスＩＤは、ゲートウェイ９０が受信したフレームの転送先（つまり送信先）となるバスを示すバスＩＤである。この転送先バスＩＤが、転送先バス情報としてフレーム送受信部９０１に通知されると、フレーム送受信部９０１は、転送先バス情報に応じたバスへとフレームを送信することになる。図７の例は、図１で示した各バスの符号が、そのバスのバスＩＤであることとした例である。この転送ルール情報に従ってゲートウェイ９０は、転送を行うか否か、どのバスを転送先バスとして選択するか等を決定する。
【０１０１】
図７の例は、例えば転送元バスがバス１０である全メッセージが、バス２０、バス３０及びバス７０の各々を転送先バスとして転送されるように定められていることを示す。また、転送元バスがバス１０である全メッセージのうちメッセージＩＤが０ｘ００１、０ｘ００２、０ｘ００３であるメッセージのみが、バス４０、バス５０及びバス６０の各々を転送先バスとして転送されるように定められており、転送元バスがバス１０の、それ以外のメッセージは、バス４０、バス５０及びバス６０の各々に対しては転送されないように定められていることを示す。また、転送元バスがバス３０である全メッセージが、バス１０、バス２０、バス４０及びバス７０の各々を転送先バスとして転送されるように定められていることを示す。また、転送元バスがバス３０の全メッセージについてのバスＩＤ５０、６０への転送は行われないように定められていることを示す。また、転送元バスがバス５０であるメッセージについては、どのバスにも転送されないことを示している。
【０１０２】
［１．８  ＭＡＣ鍵リスト］
図８は、ゲートウェイ９０のＭＡＣ鍵保持部９２１が保持するＭＡＣ鍵リストの一例を示す。図８のＭＡＣ鍵リスト９２１０は、メッセージＩＤ毎に、メッセージＩＤに対応するＭＡＣ鍵をリストとして登録したものであり、ＭＡＣ制御部９２０によるＭＡＣの生成及び検証において利用される。
【０１０３】
図８では、メッセージＩＤ毎に、個別に異なるＭＡＣ鍵を保持している例を示したが、ＭＡＣ鍵保持部９２１は、バス毎に個別のＭＡＣ鍵を保持しても良い。この場合には、ＭＡＣ鍵リスト９２１０には、バスＩＤとバスＩＤに対応する鍵値とを登録する。バス毎に個別のＭＡＣ鍵を管理する場合には、ゲートウェイ９０は、フレームの転送に際して、転送先バスに対応したＭＡＣ鍵を用いてＭＡＣを新たに生成して生成したＭＡＣを送信用フレームに設定して送信する。
【０１０４】
［１．９  カウンタリスト］
図９は、ゲートウェイ９０のカウンタ保持部９２２が保持するカウンタリストの一例を示す。図９のカウンタリスト９２２０は、メッセージＩＤ毎に、メッセージＩＤに対応するカウンタ値をリストとして記録したものであり、ＭＡＣ制御部９２０によるＭＡＣの生成及び検証において利用される。
【０１０５】
図９では、メッセージＩＤ毎に、個別のカウンタ値を保持している例を示したが、カウンタ保持部９２２は、バス毎に個別のカウンタ値を保持しても良い。この場合には、カウンタリスト９２２０には、バスＩＤとバスＩＤに対応するカウンタ値とを記録する。
【０１０６】
［１．１０  フレームの転送に係る動作例］
図１０及び図１１は、転送元ＥＣＵが送信したフレームを一のバスから受信して、ゲートウェイ９０が、転送先ＥＣＵが接続されている、他のバスへと転送する動作例を示す。一のバスと他のバスとのそれぞれは、ＭＡＣ対応バスであり得るし、ＭＡＣ非対応のバスであり得る。また、ＭＡＣ対応ＥＣＵ及びＭＡＣ非対応ＥＣＵのいずれもが、転送元ＥＣＵにも転送先ＥＣＵにもなり得る。以下、図１０及び図１１に即して、各装置の動作について説明する。
【０１０７】
まず、転送元ＥＣＵが、その転送元ＥＣＵ自身が接続されているバスに対してフレーム（メッセージ）を送信する（ステップＳ１００１）。ＣＡＮの通信では、フレームの送信はブロードキャストであり、そのバスに接続された各ノードはそのフレームを受信し得る。転送元ＥＣＵが接続されたバスには、ゲートウェイ９０も接続されており、ゲートウェイ９０のフレーム送受信部９０１が、転送元ＥＣＵからのフレームを受信する（ステップＳ１００２）。
【０１０８】
ゲートウェイ９０の受信ＩＤ判断部９０３は、フレーム解釈部９０２から通知された、受信されたフレーム（メッセージ）のメッセージＩＤが、受信ＩＤリスト保持部９０４が保持する受信ＩＤリストに記載されたものであるか否かにより、受信すべきフレーム（受信すべきＩＤを含むフレーム）か否かを判断する（ステップＳ１００３）。受信すべきフレームでない場合には、ゲートウェイ９０は、受信したフレームについての転送を中止する（つまり転送を行わない）。
【０１０９】
ステップＳ１００３で受信すべきフレームであると判断された場合には、ゲートウェイ９０の転送制御部９０６は、転送ルール保持部９０７が保持する転送ルール情報９０７１を参照して、いずれかのバスに転送すべきメッセージＩＤのフレームか否かを判断して、転送すべきフレームであれば転送先バスを選択する（ステップＳ１００４）。転送すべきメッセージＩＤのフレームでない場合には、ゲートウェイ９０は、受信したフレームについての転送を中止する。
【０１１０】
ステップＳ１００４で転送すべきメッセージＩＤのフレームであると判断された場合には、転送制御部９０６は、転送ルール保持部９０７が保持するバス情報９０７０を参照してフレームを受信したバスである転送元バスがＭＡＣ対応バスか否かを判断し（ステップＳ１００５）、ＭＡＣ対応バスであるときには、ステップＳ１００６へ進み、ＭＡＣ対応バスでないとき（つまりＭＡＣ非対応バスであるとき）には、ステップＳ１００６での処理をスキップしてステップＳ１００７へ進む。ステップＳ１００６では、ゲートウェイ９０のＭＡＣ制御部９２０が、ＭＡＣ鍵保持部９２１が保持するＭＡＣ鍵リスト９２１０と、カウンタ保持部９２２が保持するカウンタリスト９２２０とから、受信したフレームのメッセージＩＤに対応するＭＡＣ鍵とカウンタとを利用してＭＡＣ値を計算し、計算結果のＭＡＣ値と、受信したフレームのデータフィールド内のＭＡＣと比較して、受信したフレームの検証（ＭＡＣ検証）を行う。ＭＡＣ検証の結果として、不正なフレームであると判定されると（検証に失敗すれば）、ゲートウェイ９０は、そのフレームの転送を中止する。ＭＡＣ検証の結果として、適正なフレームであると判定されると（検証に成功すれば）、ステップＳ１００７へ進む。なお、検証に成功した際には、後のＭＡＣ検証のために、ゲートウェイ９０は、カウンタリスト９２２０における、そのフレームのメッセージＩＤに対応するカウンタ値を、１増加（インクリメント）する。
【０１１１】
ステップＳ１００７では、転送制御部９０６が、転送ルール保持部９０７が保持するバス情報９０７０を参照して、転送先バスがＭＡＣ対応バスか否かを判断する。ステップＳ１００７での判断の結果として、転送先バスがＭＡＣ対応バスであると判断した場合にはステップＳ１０１０へ進み、転送先バスがＭＡＣ対応バスでないと判断した場合には、ステップＳ１００８へ進む。
【０１１２】
ステップＳ１００８では、転送制御部９０６は、フレームのデータフィールドからＭＡＣ部分を削除する。続いて、転送制御部９０６は、ステップＳ１００８で削除したＭＡＣのサイズ（データ長）をＤＬＣの値から減算し（ステップＳ１００９）、ステップＳ１０１３へ進む。なお、ゲートウェイ９０が受信したフレームのデータフィールドにＭＡＣが付されていない場合（つまり転送元バスがＭＡＣ非対応バスである場合）においては、ステップＳ１００８、Ｓ１００９でＭＡＣの削除、及び、ＭＡＣのサイズのＤＬＣからの減算を行わない。
【０１１３】
ステップＳ１０１０では、転送制御部９０６は、転送元バスから受信したフレームにＭＡＣが付されているか否かを確認する。ＭＡＣが付されていなければ、転送制御部９０６は、ＭＡＣ制御部９２０に転送先バスへ送信する送信用フレームに含ませるためのＭＡＣを生成するよう依頼し、Ｓ１０１１へ進む。ＭＡＣが付されていれば、ステップＳ１０１３へ進む。
【０１１４】
ステップＳ１０１１では、ＭＡＣ制御部９２０は、ＭＡＣの付加によって増加するデータフィールドのサイズを再計算し、その値をＤＬＣに設定する。続いて、ＭＡＣ制御部９２０は、転送制御部９０６より通知されるメッセージＩＤと、データの値と、カウンタ保持部９２２で保持するカウンタリスト９２２０内のメッセージＩＤに対応するカウンタ値とを結合した値に対し、ＭＡＣ鍵保持部９２１で保持するＭＡＣ鍵リスト９２１０内のメッセージＩＤに対応するＭＡＣ鍵を用いて、ＭＡＣ値を計算し、計算結果としてのＭＡＣ値を転送制御部９０６へと通知する（ステップＳ１０１２）。この通知を受けて転送制御部９０６は、データフィールドにＭＡＣを付加する。
【０１１５】
ステップＳ１０１０で、受信したフレームにＭＡＣが付されていた場合、或いは、ステップＳ１００９又はステップＳ１０１２での処理後に、転送制御部９０６は、フレーム生成部９０５に、メッセージＩＤ、データフィールド、ＤＬＣ、及び、転送先バス情報（転送先バスＩＤ）を通知する。これにより、フレーム生成部９０５は、転送制御部９０６より通知されたメッセージＩＤと、データフィールドとを用い、ＣＲＣを再計算して送信用フレームを構成し、転送先バス情報（転送先バスＩＤ）と、その送信用フレームとをフレーム送受信部９０１へ通知する（ステップＳ１０１３）。
【０１１６】
次に、ゲートウェイ９０のフレーム送受信部９０１は、フレーム生成部９０５より生成された送信用フレームを転送先バス情報が示すバス（つまり転送先バス）へと送信する（ステップＳ１０１４）。これにより、ゲートウェイ９０によりバス間でのフレームの転送が実現される。
【０１１７】
ステップＳ１０１４に対応して、転送先バスに接続された転送先ＥＣＵは、ゲートウェイ９０により送信（転送）されたフレームを受信する（ステップＳ１０１５）。
【０１１８】
［１．１１  実施の形態１の効果］
実施の形態１に係る車載ネットワークシステム１では、ゲートウェイ９０の転送制御部９０６、フレーム生成部９０５及びフレーム送受信部９０１が連携して、受信部として機能するフレーム送受信部９０１により受信されたフレーム（メッセージ）の内容からそのフレームの検証に用いられる検証用情報（例えばＭＡＣ）を削除してそのフレームの、転送先バスへの転送を行う、又は、そのフレームの内容に検証用情報を付加してそのフレームの、転送先バスへの転送を行う、転送部として機能する。この転送部は、受信部により受信された検証用情報を含む第１フレーム（例えばＭＡＣを含むフレーム）について、検証用情報を削除するための所定削除条件が満たされた場合には、その第１フレームの内容のうち検証用情報を除いた内容に基づく情報を含む第２フレーム（例えばＭＡＣを含まないフレーム）を生成してその第２フレームを転送先バスに送信することで、フレームの転送を行い得る。また、この転送部は、受信部により受信された、検証用情報を含まないフレームについて、検証用情報を付加するための所定付加条件が満たされた場合には、そのフレームの内容に基づく情報と、検証用情報とを含むフレームを生成して、生成したフレームを転送先バスに送信することで、フレームの転送を行い得る。この転送部は、例えば、所定削除条件が満たされた場合には、第１フレームにおけるＭＡＣ以外のデータフィールドの内容を含み、ＭＡＣを含まない第２フレームを転送先バスに送信し得る。このようにゲートウェイ９０が、フレームの転送に際して、転送先バスにＭＡＣ対応ＥＣＵが接続されていない場合（つまり転送先バスがＭＡＣ非対応バスである場合）には、ＭＡＣを削除して送信するので、転送先バスのトラフィック量を抑えることできる。即ち、特定のバスに対してフレームが転送される場合にはＭＡＣが削除されて送信され得るので、そのバスに接続されたＥＣＵはＭＡＣを処理する必要がなくなる。このことは、車載ネットワークシステムにおける効率的なＥＣＵの編成の実現に繋がり得る。また、ゲートウェイ９０は、転送に際してＭＡＣを検証し、検証に失敗した場合に不正なフレームの転送を中止するので、ＭＡＣを削除してフレームを転送する場合であってもある程度のセキュリティを高めることが可能となる。また、ゲートウェイ９０が、ＭＡＣの検証に失敗した場合に不正なフレームを転送しないことにより、転送先バスに接続されたＥＣＵにとって不正なフレームに対処するための処理負荷が削減され得る。
【０１１９】
なお、ゲートウェイ９０における上述の転送部は、受信部により受信された検証用情報を含む第１フレームについて、検証用情報を削除するための所定削除条件が満たされなかった場合には、その第１フレームの内容のうち検証用情報を除いた内容に基づく情報と、転送先バスに接続されたＥＣＵと共有している鍵を用いて生成した検証用情報とを含む第２フレームを生成してその第２フレームを転送先バスに送信し得る。これにより、フレームのセキュリティが高まり得る。
【０１２０】
（実施の形態２）
以下、実施の形態１で示した車載ネットワークシステム１の一部を変形した実施の形態について説明する。
【０１２１】
実施の形態１では、転送先バスがＭＡＣ非対応バスであることを条件として、ゲートウェイ装置がフレームの転送に際してフレーム内の検証用情報であるＭＡＣを削除した。これに対して、実施の形態２では、更に、ＭＡＣを削除する所定削除条件として、転送先バスのバス占有率が所定値より高いことという条件を付加する。ゲートウェイ装置は、自装置に接続されている各バスでの通信状態を検知し、各バスの占有の度合い（例えばバスアイドル状態でない時間の割合等）を、例えば随時、測定或いは算定して、各バスについてのバス占有率として、転送に際してＭＡＣを削除すべきか否かの条件判断に用いる。
【０１２２】
本実施の形態におけるゲートウェイ装置を含む車載ネットワークシステムの構成要素は、概ね実施の形態１と同様であるため、ここでは、実施の形態１と同様の符号を用いる。ここでは実施の形態１と相違点について説明し、ここで説明しない点については、実施の形態１と同様である。
【０１２３】
［２．１  ＭＡＣ削除条件リスト］
本実施の形態に係るゲートウェイ９０の転送ルール保持部９０７は、バス情報９０７０と転送ルール情報９０７１との他に、ＭＡＣ削除条件リスト９０７２を保持する。
【０１２４】
図１２は、ゲートウェイ９０の転送ルール保持部９０７が保持するＭＡＣ削除条件リストの一例を示す。図１２のＭＡＣ削除条件リスト９０７２は、ＭＡＣ対応バスであるバス毎に、転送先バスＩＤ（転送先バスのバスＩＤ）とＭＡＣの削除条件とを対応付けた情報である。図１２の例は、図１で示した各バスの符号が、そのバスの識別子（バスＩＤ）であることとした例である。
【０１２５】
図１２の例では、バスＩＤが１０であるバス１０が転送先バスとして選択された場合においてはバス１０のバス占有率が５０％以上であることがＭＡＣの削除条件となることを示している。これにより、ゲートウェイ９０は、ＭＡＣ対応バスであるバス１０へフレームを転送する際には、バス１０のバス占有率が５０％以上であればＭＡＣを削除して転送する。また、図１２の例では、バスＩＤが２０であるバス２０が転送先バスとして選択された場合においてはバス２０のバス占有率が４０％以上であることがＭＡＣの削除条件となることを示している。図１２はＭＡＣの削除条件の一例を示すに過ぎず、ゲートウェイ９０は、転送先バスのバス占有率が予め定められた所定値（例えば５０％等）より高いことというＭＡＣの削除条件を定め得るし、この所定値はバス毎に異なる値であっても良い。本実施の形態に係るゲートウェイ９０の転送制御部９０６は、転送先バスのバス占有率を算定する機能を有し、ＭＡＣ削除条件リスト９０７２が示すバス占有率に係るＭＡＣの削除条件を、実施の形態１で示した転送先バスがＭＡＣ非対応バスであることというＭＡＣの削除条件と合わせて適用する。なお、ゲートウェイ９０が、バス占有率に係るＭＡＣの削除条件のみを用いて、ＭＡＣを削除するか否かを判断することとしても良い。
【０１２６】
［２．２  フレームの転送に際してＭＡＣ削除条件リストを利用する場合の転送の動作例］
図１３及び図１４は、転送元ＥＣＵが送信したフレームを一のバスから受信して、ゲートウェイ９０が、ＭＡＣ削除条件リストを参照して、転送先ＥＣＵが接続されている、他のバスへと転送する動作例を示す。一のバスと他のバスとのそれぞれは、ＭＡＣ対応バスであり得るし、ＭＡＣ非対応のバスであり得る。また、ＭＡＣ対応ＥＣＵ及びＭＡＣ非対応ＥＣＵのいずれもが、転送元ＥＣＵにも転送先ＥＣＵにもなり得る。以下、図１３及び図１４に即して、各装置の動作について説明する。なお、ステップＳ２００１〜Ｓ２００４は、実施の形態１で示したステップＳ１００１〜Ｓ１００４と同様なので説明を適宜省略する。
【０１２７】
ゲートウェイ９０のフレーム送受信部９０１が、転送元ＥＣＵがステップＳ２００１で送信したフレームを転送元バスから受信する（ステップＳ２００２）。
【０１２８】
ゲートウェイ９０の転送制御部９０６は、受信したフレームが受信すべきものであれば（ステップＳ２００３）、転送ルール情報９０７１を参照して、いずれかのバスに転送すべきメッセージＩＤのフレームか否かを判断して、転送すべきフレームであれば転送先バスを選択する（ステップＳ２００４）。
【０１２９】
ステップＳ２００４で転送すべきメッセージＩＤのフレームであると判断された場合には、転送制御部９０６は、そのフレームにＭＡＣが含まれているか否かを判断し（ステップＳ２００５）、ＭＡＣが含まれている場合には、ステップＳ２００６へ進み、ＭＡＣが含まれていないときには、ステップＳ２００６での処理をスキップしてステップＳ２００７へ進む。転送制御部９０６は、受信したフレームにＭＡＣが含まれているか否かを、例えば、転送ルール保持部９０７が保持するバス情報９０７０を参照してフレームを受信したバスである転送元バスがＭＡＣ対応バスであるか否かによって判断する。この場合に、例えば転送元バスがＭＡＣ対応バスであれば受信したフレームにＭＡＣが含まれており、転送元バスがＭＡＣ非対応バスであれば受信したフレームにＭＡＣが含まれていると判断する。なお、転送元バスにこのゲートウェイ９０と同機能を有する別のゲートウェイ装置が接続されているような場合を想定すれば、転送元バスがＭＡＣ対応バスであってもバス占有率に応じてＭＡＣが削除されていることがあり得る。このため、転送制御部９０６では、予めメッセージＩＤ毎にフレーム内のデータのサイズが定められているのであればＤＬＣの値によってＭＡＣが付加されているか否かを判断しても良い。また、本実施の形態に係る車載ネットワークシステム１におけるゲートウェイ装置が、転送先バスに送信するフレームに、そのフレームにＭＡＣが含まれるか否かを表す情報を含ませることとしても良く、この場合には、その情報に基づいて転送制御部９０６は、受信したフレームにＭＡＣが含まれているか否かを判断し得る。
【０１３０】
ステップＳ２００６では、ゲートウェイ９０のＭＡＣ制御部９２０が、ＭＡＣ鍵リスト９２１０と、保持するカウンタリスト９２２０とから、受信したフレームのメッセージＩＤに対応するＭＡＣ鍵とカウンタとを利用してＭＡＣ値を計算し、計算結果のＭＡＣ値と、受信したフレームのデータフィールド内のＭＡＣと比較して、受信したフレームの検証（ＭＡＣ検証）を行う。ＭＡＣ検証の結果として、不正なフレームであると判定されると（検証に失敗すれば）、ゲートウェイ９０は、そのフレームの転送を中止する。ＭＡＣ検証の結果として、適正なフレームであると判定されると（検証に成功すれば）、ステップＳ２００７へ進む。
【０１３１】
ステップＳ２００７では、転送制御部９０６が、転送ルール保持部９０７が保持するバス情報９０７０を参照して、転送先バスがＭＡＣ対応バスか否かを判断する。ステップＳ２００７での判断の結果として、転送先バスがＭＡＣ対応バスであると判断した場合にはステップＳ２０１０へ進み、転送先バスがＭＡＣ対応バスでないと判断した場合には、ステップＳ２００８へ進む。
【０１３２】
ステップＳ２００８では、転送制御部９０６は、フレームのデータフィールドからＭＡＣ部分を削除する。続いて、転送制御部９０６は、ステップＳ２００８で削除したＭＡＣのサイズをＤＬＣの値から減算し（ステップＳ２００９）、ステップＳ２０１４へ進む。なお、ゲートウェイ９０が受信したフレームのデータフィールドにＭＡＣが付されていない場合においては、ステップＳ２００８、Ｓ２００９でＭＡＣの削除、及び、ＭＡＣのサイズのＤＬＣからの減算を行わない。
【０１３３】
ステップＳ２０１０では、転送制御部９０６は、転送先バスについてのバス占有率を算出し、転送ルール保持部９０７が保持しているＭＡＣ削除条件リスト９０７２の条件と比較し、ＭＡＣの削除条件が満たされるか否かを判断する。ＭＡＣの削除条件が満たされると、ステップＳ２００８に移ってＭＡＣの削除を行う。
【０１３４】
ステップＳ２０１０でＭＡＣの削除条件が満たされないと判断した場合には、転送制御部９０６は、転送元バスから受信したフレームにＭＡＣが付されているか否かを確認する（ステップＳ２０１１）。ＭＡＣが付されていなければ、転送制御部９０６は、ＭＡＣ制御部９２０に転送先バスへ送信する送信用フレームに含ませるためのＭＡＣを生成するよう依頼し、Ｓ２０１２へ進む。ＭＡＣが付されていれば、ステップＳ２０１４へ進む。
【０１３５】
ステップＳ２０１２では、ＭＡＣ制御部９２０は、ＭＡＣの付加によって増加するデータフィールドのサイズを再計算し、その値をＤＬＣに設定する。続いて、ＭＡＣ制御部９２０は、転送制御部９０６より通知されるメッセージＩＤと、データの値と、カウンタリスト９２２０内のメッセージＩＤに対応するカウンタ値とを結合した値に対し、ＭＡＣ鍵リスト９２１０内のメッセージＩＤに対応するＭＡＣ鍵を用いて、ＭＡＣ値を計算し、計算結果としてのＭＡＣ値を転送制御部９０６へと通知する（ステップＳ２０１３）。この通知を受けて転送制御部９０６は、データフィールドにＭＡＣを付加する。
【０１３６】
ステップＳ２０１１で、受信したフレームにＭＡＣが付されていた場合、或いは、ステップＳ２００９又はステップＳ２０１３での処理後に、転送制御部９０６は、フレーム生成部９０５に、メッセージＩＤ、データフィールド、ＤＬＣ、及び、転送先バス情報（転送先バスＩＤ）を通知する。これにより、フレーム生成部９０５は、転送制御部９０６より通知されたメッセージＩＤと、データフィールドとを用い、ＣＲＣを再計算して送信用フレームを構成し、転送先バス情報（転送先バスＩＤ）と、その送信用フレームとをフレーム送受信部９０１へ通知する（ステップＳ２０１４）。
【０１３７】
次に、ゲートウェイ９０のフレーム送受信部９０１は、フレーム生成部９０５より生成された送信用フレームを転送先バス情報が示すバス（つまり転送先バス）へと送信する（ステップＳ２０１５）。これにより、ゲートウェイ９０によりバス間でのフレームの転送が実現される。
【０１３８】
ステップＳ２０１５に対応して、転送先バスに接続された転送先ＥＣＵは、ゲートウェイ９０により送信（転送）されたフレームを受信する（ステップＳ２０１６）。なお、転送先ＥＣＵがＭＡＣ対応ＥＣＵである場合において、受信したフレームにおけるデータフィールドの内容から、バス占有率に応じてＭＡＣが削除されていることがあり得る。これに対して、ＭＡＣ対応ＥＣＵは、例えば、自らが処理対象とするメッセージＩＤのフレームについてのデータのサイズが予め仕様等により定められているのであれば、ＤＬＣの値によってＭＡＣが付加されているか否かを判断可能となる。また、本実施の形態に係る車載ネットワークシステム１においてフレームには、そのフレームにＭＡＣ（検証用情報）が含まれるか否かを表す情報（例えばデータフィールド内の１ビットの領域を用いたフラグ）を含ませることとしても良く、ゲートウェイ９０でＭＡＣを削除した場合には、ＭＡＣが含まれない旨を示す情報をフレームに含ませ得る。この場合には、ステップＳ２０１５でフレームを受信したＭＡＣ対応ＥＣＵは、そのＭＡＣが含まれるか否かを表す情報に基づいて、ＭＡＣが含まれていればＭＡＣの検証を行い、ＭＡＣが含まれていなければＭＡＣの検証を行わない等の対処を行い得る。
【０１３９】
［２．３  実施の形態２の効果］
実施の形態２に係る車載ネットワークシステム１では、ゲートウェイ９０が、フレーム（メッセージ）の転送に際して、転送先バスにＭＡＣ対応ＥＣＵが接続されていない場合（つまり転送先バスがＭＡＣ非対応バスである場合）に加えて、転送先バスにＭＡＣ対応ＥＣＵが接続されていてもその転送先バスのバス占有率がＭＡＣの削除条件を満たす程度に高い場合にも、ＭＡＣを削除して送信するので、転送先バスのトラフィック量を抑えることできる。また、ＭＡＣ対応バスである転送先バスのバス占有率がＭＡＣの削除条件を満たさない程度に低い場合には、ゲートウェイ９０がＭＡＣを含むフレームを転送するので、その転送先バスに接続されたＭＡＣ対応ＥＣＵにとっては、ＭＡＣの検証によりフレームが不正か否かを判別可能となり、車載ネットワークのセキュリティの確保等が実現され得る。
【０１４０】
（実施の形態３）
以下、実施の形態１で示した車載ネットワークシステム１の一部を変形した、また別の実施の形態について説明する。
【０１４１】
実施の形態１では、データフレームのフォーマットとして、バス間で共通してＣＡＮの標準フォーマットを用いる例を示した（図２参照）。これに対して、実施の形態３では、バス毎に、ＣＡＮの標準フォーマットを用いるか、拡張フォーマットを用いるかが定められている例を示す。拡張フォーマットは、ＣＡＮの派生プロトコルであるＣＡＮ−ＦＤ（CAN with Flexible Data Rate）で規定されるフォーマットである。
【０１４２】
本実施の形態におけるゲートウェイ装置を含む車載ネットワークシステムの構成要素は、概ね実施の形態１と同様であるため、ここでは、実施の形態１と同様の符号を用いる。ここでは実施の形態１と相違点について説明し、ここで説明しない点については、実施の形態１と同様である。
【０１４３】
［３．１  標準フォーマット及び拡張フォーマット］
図１５は、データフレームの標準ファーマットと拡張フォーマットとを示す図である。図１５において（ａ）は、図２に示したものと同様の、ＣＡＮの標準フォーマットを示し、（ｂ）は、ＣＡＮ−ＦＤで規定されるフォーマットである拡張フォーマットを示す。
【０１４４】
標準フォーマットでは、ＩＤ（メッセージＩＤ）が１１ビットであり、データフィールドが６４ビットであるのに対して、拡張フォーマットでは、標準フォーマットにおけるＩＤフィールドのベースＩＤの１１ビットと、拡張ＩＤの１８ビットとを合わせて２９ビットでＩＤ（メッセージＩＤ）が表され、データフィールドが５１２ビットに拡張されている。
【０１４５】
［３．２  バス情報（対応フォーマットリスト）］
本実施の形態に係るゲートウェイ９０の転送ルール保持部９０７は、バス情報９０７０と転送ルール情報９０７１との他に、バス情報の一種としての対応フォーマットリスト９０７３を保持する。
【０１４６】
図１６は、本実施の形態に係るゲートウェイ９０の転送ルール保持部９０７が保持するバス情報の一種としての対応フォーマットリストの一例を示す。実施の形態１で示したバス情報９０７０（図６参照）は、各バスがＭＡＣ対応バスであるかＭＡＣ非対応バスであるかをバス毎に示した情報であるのに対して、この対応フォーマットリスト９０７３は、各バスで送受信されるデータフレームのフォーマットが標準フォーマットであるか拡張フォーマットであるかをバス毎に示した情報である。なお、図１６の例は、図１で示した各バスの符号が、そのバスの識別子（バスＩＤ）であることとした例である。
【０１４７】
図１６の例では、例えばバスＩＤが１０であるバス１０は、拡張フォーマットのフレームの送受信に対応していることを示している。また、バスＩＤが５０であるバス５０は、標準フォーマットのフレームの送受信に対応しており、拡張フォーマットのフレームの送受信に対応していないことを示している。なお、対応フォーマットリスト９０７３の内容を、バス情報９０７０に含ませることとしても良い。
【０１４８】
また、例えば、拡張フォーマットはデータフィールドが比較的大きいため、ＭＡＣ対応ＥＣＵを接続したバスを拡張フォーマットに対応させ、ＭＡＣ対応ＥＣＵを接続しておらずＭＡＣ非対応ＥＣＵを接続しているバスを、標準フォーマットに対応させるように車載ネットワークシステムを構成しても良い。この場合には、バス情報９０７０を用いずに対応フォーマットリスト９０７３に基づいて、ゲートウェイ９０が、転送先バスが、標準フォーマットに対応しているバスか拡張フォーマットに対応しているバスかによって、ＭＡＣ対応バスであるかＭＡＣ非対応バスであるかを判断するようにしても良い。つまり、ゲートウェイ９０は、バス情報の一種である対応フォーマットリスト（バス毎にバスとフレームフォーマットとを対応付けた情報）により所定のフレームフォーマットに対応付けられている場合にはＭＡＣの削除条件が満たされたとして、ＭＡＣを削除して転送を行い得る。
【０１４９】
［３．３  標準フォーマットのバスから拡張フォーマットのバスへのフレーム転送に係るフォーマット変換例］
図１７は、フレームの転送元バスが標準フォーマットに対応したＭＡＣ対応バスで、転送先バスが拡張フォーマットに対応したＭＡＣ非対応バスである場合の転送に係るフォーマット変換例を示す図である。
【０１５０】
同図の例では、ゲートウェイ９０の転送制御部９０６が、転送先バスがＭＡＣ非対応バスであると判断し、受信したフレームのデータフィールドのＭＡＣを削除するとともに、フォーマットを標準フォーマットから拡張フォーマットに変更して、転送するように制御する。拡張フォーマットに変更するため、転送制御部９０６は、図１７に示すように、受信した複数の標準フォーマットのデータフレームを１つの拡張フォーマットのフレームに統合して転送するようにフレーム生成部９０５に指示する。この指示に対応して、フレーム生成部９０５は、転送制御部９０６から受信した複数のデータを１つのデータに結合して、拡張フォーマットのフレームを生成する。そして、フレーム送受信部９０１は、フレーム生成部９０５にて生成された拡張フォーマットのフレームを、転送先バスへと送信する。
【０１５１】
なお、ゲートウェイ９０が、フレームの転送に際して、ＭＡＣを付加するか削除するかに係る判断については、実施の形態１と同様である（図１０及び図１１参照）。この判断を、例えば実施の形態２で示したように転送先バスのバス占有率にも基づいて行っても良い（図１３及び図１４参照）。
【０１５２】
標準フォーマットに対応したバスから拡張フォーマットに対応したバスへの転送に際しては、ゲートウェイ９０は、例えば、受信した標準フォーマットのデータフレームを即座に転送するのではなく、一定時間待ってその間に後続する同じメッセージＩＤの１以上のフレームが受信できれば、合わせて拡張フォーマットに変換してから変換後のフレームを転送先バスへと送信（転送）する。この一定時間待っている間に後続する同じメッセージＩＤのフレームが受信できなければ、一定時間の経過時点で受信できていたデータフレームのみを拡張フォーマットに変換して転送することになる。なお、ゲートウェイ９０は、転送に際してフレームを統合しなくても良く、例えば、１つの標準フォーマットのフレームを受信する都度、１つの拡張フォーマットのフレームを送信することとしても良い。
【０１５３】
［３．４  拡張フォーマットのバスから標準フォーマットのバスへのフレーム転送に係るフォーマット変換例］
図１８は、フレームの転送元バスが拡張フォーマットに対応したＭＡＣ対応バスで、転送先バスが標準フォーマットに対応したＭＡＣ非対応バスである場合の転送に係るフォーマット変換例を示す図である。
【０１５４】
同図の例では、ゲートウェイ９０の転送制御部９０６が、転送先バスがＭＡＣ非対応バスであると判断し、受信したフレームのデータフィールドのＭＡＣを削除するとともに、フォーマットを拡張フォーマットから標準フォーマットに変更して、転送するように制御する。標準フォーマットに変更するため、転送制御部９０６は、図１８に示すように、受信した拡張フォーマットのデータフレームのデータフィールドの長さに応じて、１つの標準フォーマットのフレームとして転送するように、或いは、標準フォーマットのデータフィールドに収まらない場合には複数の標準フォーマットのフレームへと分割して転送するように、フレーム生成部９０５に指示する。この指示に対応して、フレーム生成部９０５は、転送制御部９０６から受信したデータを必要に応じて複数のデータに分割して、各データをデータフィールドに格納した標準フォーマットの各データフレームを生成する。そして、フレーム送受信部９０１は、フレーム生成部９０５にて生成された標準フォーマットの各フレームを、転送先バスへと送信する。ゲートウェイ９０は、分割により複数のフレームを送信することとなる場合において、送信を連続的に行っても良いし、例えばフレーム間に予め定めた送信間隔を空けて断続的に送信を行っても良い。
【０１５５】
［３．５  実施の形態３の効果］
実施の形態３に係る車載ネットワークシステム１では、ゲートウェイ９０が、フレーム（メッセージ）の転送に際して、フォーマットの変換を行うことができ、転送先バスにＭＡＣ対応ＥＣＵが接続されていない場合等にＭＡＣを削除して送信するので、転送先バスのトラフィック量を抑えることできる。
【０１５６】
（他の実施の形態）
以上のように、本発明に係る技術の例示として実施の形態１〜３を説明した。しかしながら、本発明に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本発明の一実施態様に含まれる。
【０１５７】
（１）上記実施の形態では、転送先バスがＭＡＣ対応バスであるか否か、転送先バスのバス占有率、転送先バスが対応しているフレームのフォーマット等に基づき、転送に際してフレームのＭＡＣを削除すべきか否かをゲートウェイ９０が判断する例を示したが、これらの組み合わせを用いて判断しても良いし、他の条件を合わせて用いて判断しても良い。実施の形態１では、転送先バスがＭＡＣ対応バスである場合にはゲートウェイはＭＡＣを削除せずに（ＭＡＣが付加されていなければ付加して）フレームを転送することとした。このＭＡＣ対応バスには、ＭＡＣ対応ＥＣＵの他にＭＡＣ非対応ＥＣＵが接続されていても良い。この場合に、ＭＡＣ非対応ＥＣＵでは、フレームに含まれるＭＡＣを検証しないが、ＭＡＣ対応ＥＣＵではＭＡＣを検証するので、セキュリティの確保が実現され得る。
【０１５８】
（２）上記実施の形態２では、ゲートウェイ９０が、ＭＡＣを含むフレームの転送に際して、転送先バスのバス占有率が、ＭＡＣの削除条件として定められた占有率の値よりも低い場合に、そのＭＡＣを含んだフレームのデータフィールドの内容を変更せずにフレームを転送先バスへと転送（送信）する例を示したが、ＭＡＣの付け替えを行って転送しても良い。これは実施の形態１で示したように、バス毎にＭＡＣ鍵が異なるようにしているのであれば、ＭＡＣを転送先バスに合わせたＭＡＣ鍵で生成したものに付け替える方式を採り得る。ＭＡＣ鍵は、ＥＣＵ毎に個別のＭＡＣ鍵にしても良いし、同一バス上に接続されるＥＣＵは同一のＭＡＣ鍵を利用することとしても良い。また、ゲートウェイ９０は、ＭＡＣを含まないフレームの転送に際して、転送先バスのバス占有率が、ＭＡＣの付加条件として定められた占有率の値よりも低い場合に、そのフレームのデータフィールドの内容にＭＡＣを付加したフレームを構成して転送先バスへと転送（送信）することとしても良い。
【０１５９】
（３）上記実施の形態３では、ゲートウェイ９０が、ＣＡＮの標準フォーマットのデータフレームからＭＡＣを削除して、複数のデータフレームを１つのＣＡＮ−ＦＤの拡張フォーマットのデータフレームとして送信する例を示したが、転送先バスに接続されたＥＣＵがＭＡＣ対応ＥＣＵである場合には、拡張フォーマットのデータフレーム内にＭＡＣを付加して送信しても良い。なお、標準フォーマットの複数のデータフレームにおけるＭＡＣに基づいて（例えば複数のＭＡＣの結合等で）、拡張フォーマットのデータフレーム内に含ませるＭＡＣを算定しても良いし、標準フォーマットの複数のデータフレームにおけるデータを結合したものである、拡張フォーマットのデータフレーム内に含ませるデータに基づいて、そのＭＡＣの算定を行っても良い。
【０１６０】
（４）上記実施の形態３では、転送元バスと転送先バスとで対応フォーマットが異なる場合においてフレームの転送に際してゲートウェイ９０がＭＡＣを削除する例を示したが、転送元バスと転送先バスとが標準フォーマットに対応する場合において、ゲートウェイ９０が、複数のフレームについてＭＡＣを削除して、１つの標準フォーマットのフレームにまとめて転送しても良い。例えば、データフィールドが４バイトのデータと４バイトのＭＡＣとで構成される標準フォーマットのデータフレームを受信する場合に、ゲートウェイ９０は、２つのフレームのデータフィールドの４バイトのデータを、１つにまとめて８バイトのデータにしてデータフィールドに格納して標準フォーマットのデータフレームにして転送を行っても良い。また、転送元バスと転送先バスとが拡張フォーマットに対応する場合にも、同様に、ゲートウェイ９０は、ＭＡＣを削除した複数のフレームの内容を１つの拡張フォーマットのフレームとして転送しても良い。
【０１６１】
（５）上記実施の形態では、１台のゲートウェイ９０に注目して説明したが、ゲートウェイ装置を複数含むように車載ネットワークシステムを構成しても良く、１つのバスに複数のゲートウェイ装置が接続され得る。この各ゲートウェイ装置は、各実施の形態で示したゲートウェイ９０と同様の転送に係る処理を行い得る。
【０１６２】
（６）上記実施の形態では、バス毎に、そのバスがＭＡＣ対応バスか否かを区別して、フレームの転送に際してＭＡＣを削除するか付加するかの判断を行うゲートウェイ９０を示した。ＭＡＣは、フレームの検証用情報の一例であり、他の検証に用いられる情報であっても良い。つまり、ゲートウェイ９０は、バス毎にそのバスが、検証用情報（例えばＭＡＣ）に基づくフレームの検証機能を有するＥＣＵが接続されている検証対応バス（例えばＭＡＣ対応バス）か、検証機能を有するＥＣＵが接続されていない検証非対応バス（例えばＭＡＣ非対応バス）かを示すバス情報に基づいて、検証用情報の削除又は付加に係る判断を行い得る。この他に、ゲートウェイ９０は、フレームの転送に際して、そのフレームのメッセージＩＤと転送先バスにおいてそのメッセージＩＤのフレームを処理するＥＣＵがＭＡＣ対応ＥＣＵであるかＭＡＣ非対応ＥＣＵであるかを予め対応付けておいた情報を用いて、ＭＡＣを削除すべきか否か、或いはＭＡＣを付加すべきか否かを判断することとしても良い。この具体例として、ゲートウェイ９０は、メッセージＩＤ毎に、ＭＡＣ対応ＥＣＵにより検証等の処理対象とされる検証メッセージ識別子と、その検証等の処理対象とされない非検証メッセージ識別子とを区別するメッセージ識別子情報を保持し、受信したフレームのメッセージＩＤに応じてＭＡＣを削除する削除条件が満たされたか否かをメッセージ識別子情報に基づいて判断することとしても良い。例えば、ゲートウェイ９０は、受信したフレームのメッセージＩＤが非検証メッセージ識別子であるときにはＭＡＣの削除条件が満たされたとして、ＭＡＣを削除して転送し得る。なお、バス情報にメッセージ識別子情報が含まれていても良く、ゲートウェイ９０は、転送先バスが検証対応バス（例えばＭＡＣ対応バス）である場合において、受信されたフレームの識別子が非検証メッセージ識別子であるときにはＭＡＣの削除条件が満たされたとして、ＭＡＣを削除して転送を行うこととしても良い。また別の具体例として、ゲートウェイ９０は、ＥＣＵ毎に、ＭＡＣ対応ＥＣＵ（ＭＡＣに基づくフレームの検証機能を有するＥＣＵ）であるか否かを示すＥＣＵ情報を保持し、ＭＡＣを削除する削除条件が満たされたか否かをこのＥＣＵ情報に基づいて判断することとしても良い。例えば、ゲートウェイ９０は、受信したフレームの転送先となる転送先バスに接続されてそのフレームに応じた処理を実行するＥＣＵがＭＡＣ対応ＥＣＵでない場合に、ＭＡＣの削除条件が満たされたとして、ＭＡＣを削除して転送し得る。なお、フレームの転送に際して、ゲートウェイ９０は、どのバスにどのＥＣＵが接続されているかを示す情報を保持して利用しても良いし、どのメッセージＩＤを含むフレームがどのＥＣＵに処理されるかを示す情報を保持して利用しても良い。ゲートウェイ９０は、バス毎にバスがＭＡＣ対応か否かを示すリスト、フレームを受信し得るＥＣＵ毎にＭＡＣ対応ＥＣＵであるか否かを示すリスト、メッセージＩＤ毎にＭＡＣ対応ＥＣＵに処理されるか否かを示すリスト等を適宜利用し、必要に応じて転送先バスのバス占有率を用いて、転送に際してフレームのＭＡＣを削除するか否かを判断し得る。
【０１６３】
（７）上記実施の形態では、バス単位で、ＭＡＣ対応バス（ＭＡＣ対応ＥＣＵが接続されているバス）か否かにより、ゲートウェイ９０がフレームの転送に際してＭＡＣを削除すべきか否かを判断する例を示した。しかし、１つのバスにＭＡＣ対応ＥＣＵとＭＡＣ非対応ＥＣＵとが接続されている場合には、ゲートウェイ９０がフレームを受信した際に、ＭＡＣ対応ＥＣＵ向けの、ＭＡＣを含ませたフレームと、そのフレームと異なるメッセージＩＤを有するＭＡＣ非対応ＥＣＵ向けの、ＭＡＣを削除したフレームとを送信することで、フレームの転送を実現しても良い。即ち、ゲートウェイ９０の転送部（転送制御部９０６、フレーム生成部９０５、フレーム送受信部９０１等）により、受信された検証用情報（例えばＭＡＣ）を含む第１フレームについて、その第１フレームの内容のうち検証用情報を除いた内容に基づく情報を含み且つ検証用情報を含まない第２フレームを生成してその第２フレームを転送先バスに送信することで、フレームの転送を行い、更に、その第１フレームの内容のうち検証用情報を除いた内容に基づく情報を含み且つ検証用情報を含み、第２フレームとは異なる、フレームの識別子を有する第３フレームを送信することとしても良い。この場合に、ゲートウェイ９０から送信される２種類のフレームそれぞれのメッセージＩＤについては、予め車載ネットワークシステム１において定められ、各ＥＣＵは必要なメッセージＩＤを識別して受信する。
【０１６４】
（８）上記実施の形態で示したゲートウェイ９０は、転送に際して例えばステップＳ１００６等でＭＡＣを検証するが、ゲートウェイ９０は、ＭＡＣ検証に成功した場合に、転送するフレームの一部に予め定めておくフラグ領域に、ＭＡＣを削除するか否かに拘わらず、ＭＡＣ検証に成功したことを示す値を設定することとしても良い。この場合において、転送先バスに接続されたＥＣＵでは、ＭＡＣ検証に成功したことを示す値がフラグ領域に設定されているフレームを受信したときに、そのフレームについてのＭＡＣの検証処理を省略しても良い。これにより、ＥＣＵの処理負荷の削減、省電力化等の効果が生じる。また、上記実施の形態では、受信したフレームのＭＡＣの検証に失敗した場合に、ゲートウェイ９０が、そのフレームの転送を中止する例を示したが、フレームのＭＡＣの検証に失敗した場合にそのフレームのメッセージＩＤを記憶しておき、ゲートウェイ９０は、それ以後そのメッセージＩＤのフレームを受信しても、転送を行わないこととしても良い。
【０１６５】
（９）上記実施の形態３では、転送先バスと転送元バスとで対応するフレームフォーマットが異なる場合におけるＭＡＣの削除について説明しているが、逆に転送に際してＭＡＣを付加しても良い。また、フレームフォーマットが異なる他、転送元と転送先バスとにおいて対応する通信プロトコル種別が相違（物理層、その他の上位層のいずれかが相違）する場合に、ゲートウェイ９０が、フレームに対するＭＡＣの削除又は付加を行うこととしても良い。ゲートウェイ９０は、一のネットワークから受信したフレームを他のネットワークへと転送する機能を有するものであれば良く、バス以外のネットワーク（例えば無線ネットワーク）から受信したフレームをＣＡＮのバスに転送するものであっても良い。フレームを受信したネットワークと、転送先のネットワークとのそれぞれが対応する通信プロトコル種別の相違は、例えばネットワーク種別の相違である。バス情報として、バス毎にそのバスでの通信で用いられる通信プロトコルの種別を対応付けていても良い。例えば、ゲートウェイ９０がＣＡＮのバス以外にＥｔｈｅｒｎｅｔ（登録商標）にも接続されており、転送元ネットワークがＥｔｈｅｒｎｅｔ（登録商標）であって転送先ネットワークがＣＡＮのバスである場合に、ゲートウェイ９０は、ＭＡＣの削除条件が満たされたと判定してＭＡＣを削除するようにしても良い。また、転送元ネットワークがＣＡＮのバスで、転送先ネットワークがＥｔｈｅｒｎｅｔ（登録商標）の場合に、ゲートウェイ９０は、ＭＡＣを付加するようにしても良い。ここでの、ＭＡＣの削除或いは付加の条件とする転送元ネットワークと転送先ネットワークとに係るネットワーク種別（通信プロトコル）は、いかなるものであっても良く、例えば、ＣＡＮ、ＣＡＮ−ＦＤ、Ｅｔｈｅｒｎｅｔ（登録商標）、ＬＩＮ（Local Interconnect Network）、Ｆｌｅｘｒａｙ（登録商標）等の組合せであっても良い。また、ネットワーク種別毎にＭＡＣの削除又は付加を定めておく場合において、フレーム長が一定値より長いネットワークを転送先とするときにはＭＡＣを付加し、その一定値より短いネットワークを転送先とするときにはＭＡＣを削除するという方式を用いても良い。
【０１６６】
（１０）上記実施の形態で示したゲートウェイ９０は、受信したデータフレームの内容が暗号化されている場合には、そのフレームを復号した後に、その復号したフレームの内容からＭＡＣを削除して、或いは、復号したフレームの内容にＭＡＣを付加して、転送を行うこととしても良い。この場合に再度フレームの内容を暗号化しても良い。なお、ゲートウェイ９０は、転送先となるＥＣＵが復号機能を有さない場合等に転送に際してフレームの内容を復号により平文にして送信することとしても良い。このフレームを受信したＥＣＵでは復号処理の負荷が削減され得る。また、転送先のＥＣＵが復号機能を有する場合には、そのＥＣＵに対応した鍵でフレームの内容を暗号して送信しても良い。このとき、共通鍵暗号方式で暗号化して転送するのであれば、ゲートウェイ９０と転送先のＥＣＵとの間で共有している鍵で再暗号化することとしても良い。
【０１６７】
（１１）上記実施の形態で示したＭＡＣ対応バスは、ＭＡＣ対応ＥＣＵが接続されているバスであることとしたが、ＭＡＣ対応バスは、例えば、そのバスにＭＡＣを含むフレームが流されるべきバスであることとしても良い。ＭＡＣ非対応バスは、例えば、そのバスにＭＡＣを含まないフレームが流されるべきバスであることとしても良い。車載ネットワークシステム１において、各バスをＭＡＣ対応バスかＭＡＣ非対応バスかに分類しておくことにより、各バスについて、そのバスに適したＥＣＵを随時追加することが可能になる。
【０１６８】
（１２）上記実施の形態で示したゲートウェイ９０は、フレームの転送に際して一定条件下でＭＡＣを削除する機能と一定条件下でＭＡＣを付加する機能とを含むこととしたが、その機能の一方のみを含むものであっても良い。
【０１６９】
（１３）上記実施の形態における各ＥＣＵ（ゲートウェイを含む）は、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置であることとしたが、ハードディスク装置、ディスプレイ、キーボード、マウス等の他のハードウェア構成要素を含んでいても良い。また、メモリに記憶された制御プログラムがプロセッサにより実行されてソフトウェア的に機能を実現する代わりに、専用のハードウェア（デジタル回路等）によりその機能を実現することとしても良い。
【０１７０】
（１４）上記実施の形態における各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしても良い。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又はすべてを含むように１チップ化されても良い。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【０１７１】
（１５）上記各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしても良い。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしても良い。
【０１７２】
（１６）本発明の一態様としては、上述した車載ネットワークにおけるフレームの転送に係る転送方法等の方法であるとしても良い。例えば、転送方法は、フレームを受信する受信ステップと、受信ステップでフレームが受信された場合に、バスの１つである転送先バスへ、そのフレームを、そのフレームの検証に用いられる検証用情報（例えばＭＡＣ）の削除又は付加をした上で、転送する転送ステップとを含む。また、この方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本発明の一態様としては、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
【０１７３】
（１７）上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１７４】
本発明は、ＭＡＣ等の検証用情報を含み得るフレーム（メッセージ）の送受信に用いられる車載ネットワークにおいて適切にフレームを転送するために利用可能である。
【符号の説明】
【０１７５】
１  車載ネットワークシステム
１０、２０、３０、４０、５０、６０、７０  バス
９０  ゲートウェイ
１００、１０１、２００、２０１、３００、３０１  電子制御ユニット（ＭＡＣ対応ＥＣＵ）
１１０  エンジン
１１１  トランスミッション
２１０  ブレーキ
２１１  ステアリング
３１０  自動ブレーキ
３１１  車線維持装置
４００、４０１、５００、６００、７００  電子制御ユニット（ＭＡＣ非対応ＥＣＵ）
４１０  ドア
４１１  ライト
５１０  インストルメントパネル
６１０  ＩＴＳ装置
７１０  診断ポート
８００、８１０、９０１  フレーム送受信部
８０１、８１１、９０２  フレーム解釈部
８０２、８１２、９０３  受信ＩＤ判断部
８０３、８１３、９０４  受信ＩＤリスト保持部
８０４、８１４  フレーム処理部
８０５、８１５、９０５  フレーム生成部
８０６、８１６  データ取得部
８２０、９２０  ＭＡＣ制御部
８２１、９２１  ＭＡＣ鍵保持部
８２２、９２２  カウンタ保持部
９０６  転送制御部
９０７  転送ルール保持部
９０７０  バス情報
９０７１  転送ルール情報
９０７２  削除条件リスト
９０７３  対応フォーマットリスト
９２１０  ＭＡＣ鍵リスト
９２２０  カウンタリスト
【図１】
0006787697.tif 000002
【図２】
0006787697.tif 000003
【図３】
0006787697.tif 000004
【図４】
0006787697.tif 000005
【図５】
0006787697.tif 000006
【図６】
0006787697.tif 000007
【図７】
0006787697.tif 000008
【図８】
0006787697.tif 000009
【図９】
0006787697.tif 000010
【図１０】
0006787697.tif 000011
【図１１】
0006787697.tif 000012
【図１２】
0006787697.tif 000013
【図１３】
0006787697.tif 000014
【図１４】
0006787697.tif 000015
【図１５】
0006787697.tif 000016
【図１６】
0006787697.tif 000017
【図１７】
0006787697.tif 000018
【図１８】
0006787697.tif 000019