(第1の実施の形態)
以下、車載ネットワークシステムの第1の実施の形態について図面を参照して説明する。
図1に示すように、本実施の形態の車載ネットワークシステムは、車両内に設けられたゲートウェイ装置GWと、ゲートウェイ装置GWに接続された第1及び第2の通信バスNW1,NW2と、これらの通信バスNW1,NW2に接続された複数の電子制御装置10A,10B,10C,10Dとを備えている。なお、第1の通信バスNW1は、CAN(コントローラエリアネットワーク)に規定される通信プロトコルであるCANプロトコルに従って情報の授受を行う。一方、第2の通信バスNW2は、Ethernet(登録商標)に規定される通信プロトコルであるEthernetプロトコルに従って情報の授受を行う。
各電子制御装置10A,10B,10C,10Dは、図示しない各種のセンサから取得された情報や演算処理により得られた情報に基づいて各種制御に必要な情報処理を行う情報処理部11A,11B,11C,11Dを備えている。また、各電子制御装置10A〜10Dは、各々が対応する通信プロトコルに基づく通信メッセージを通じて第1の通信バスNW1又は第2の通信バスNW2に接続された他の電子制御装置との間で通信を行う。また、各電子制御装置10A〜10Dは、情報処理部11A〜11Dとの間で通信メッセージに関連する各種情報の授受を行う通信コントローラとして、CANコントローラ12A,12B又はEthernetコントローラ12C,12Dを備えている。
情報処理部11A〜11Dは、各種処理を行う演算装置と、演算結果や各種制御機能を提供するプログラム及び制御機能に用いられるパラメータなどを記憶する記憶装置とを有するマイクロコンピュータを含んで構成されている。また、情報処理部11A〜11Dは、通信バスNW1,NW2に接続された他の電子制御装置に通信メッセージを送信する際に、その通信メッセージの認証に用いられるMAC(メッセージ認証コード)を生成するMAC生成部13A,13B,13C,13Dを備えている。また、情報処理部11A〜11Dは、通信バスNW1,NW2に接続された他の電子制御装置から通信メッセージを受信する際に、その受信した通信メッセージに付加されているMACの認証を行うMAC認証部14A,14B,14C,14Dを備えている。なお、MACの生成及び認証には、各電子制御装置10A〜10Dの記憶部15A,15B,15C,15Dに同様にして格納されている共通鍵K及びMACアルゴリズムALが用いられる。
各通信コントローラは、通信メッセージを通信バスNW1,NW2から受信したタイミングを取得するとともに、受信した通信メッセージを解析し、当該通信メッセージに含まれるメッセージID及び通信データなどを取得する。また、各通信コントローラは、通信メッセージの受信タイミング、メッセージID、通信データ等の情報を情報処理部11A〜11Dに提供する。さらに、各通信コントローラは、情報処理部11A〜11DからメッセージID、通信データ、送信タイミング等が入力され、このうちのメッセージID及び通信データに基づいて当該メッセージIDと通信データとを含む通信メッセージを生成する。そして、各通信コントローラは、入力された送信タイミングで生成した通信メッセージを通信バスNW1,NW2に送出する。
具体的には、図2(a)に示すように、第1の通信バスNW1を介して送受信される通信メッセージであるCANフレームFAは、メッセージIDが格納されるID領域R1Aと、MAC及び通信データが格納されるデータ領域R2Aとを有している。また同様に、図2(b)に示すように、第2の通信バスNW2を介して送受信される通信メッセージであるEthernetフレームFBは、メッセージIDが格納されるID領域R1Bと、MAC及び通信データが格納されるデータ領域R2Bとを有している。なお、Ethernetプロトコルを用いる第2の通信バスNW2は、CANプロトコルを用いる第1の通信バスNW1よりも通信速度が高速であり且つ通信容量も大容量となるため、第2の通信バスNW2を介して送受信されるデータ通信量も多くなる。そのため、EthernetフレームFBは、CANフレームFAと比較して、許容される通信メッセージの最大ビット数が多くなり、結果として、付加可能なMACの最大ビット数も多くなる。そこで、本実施の形態では、EthernetフレームFBに付加されるMACのビット数(128ビット)が、CANフレームFAに付加されるMACのビット数(32ビット)よりも長く設定されている。
また、図1に示すように、ゲートウェイ装置GWは、第1の通信バスNW1及び第2の通信バスNW2に接続された電子制御装置10A〜10Dと同様の情報処理部11Gを備えるとともに、ゲートウェイコントローラ12Gを備えている。このゲートウェイコントローラ12Gは、通常、同一の通信プロトコルの通信バス間だけでなく、互いに通信プロトコルの異なる複数の通信バスの間でも通信メッセージを中継するためのものである。
ゲートウェイ装置GWの情報処理部11Gは、第1の通信バスNW1及び第2の通信バスNW2の間での通信メッセージの中継に際して通信メッセージに付加されているMACのコード長を送信先の通信バスの通信プロトコルに応じて変換するMACコード長変換部16Gを備えている。また、ゲートウェイ装置GWの情報処理部11Gの記憶部15Gには、MACコード長変換部16Gを通じてMACのコード長を変換する際に用いられる共通鍵K及びMACアルゴリズムALが格納されている。なお、この共通鍵K及びMACアルゴリズムALは、第1の通信バスNW1及び第2の通信バスNW2に接続されている電子制御装置10A〜10DがMACの生成及び認証の際に用いる共通鍵K及びMACアルゴリズムALと同様のものである。
次に、本実施の形態の車載ネットワークシステムにあって、第1の通信バスNW1に接続された電子制御装置10A,10B(CAN側)から第2の通信バスNW2に接続された電子制御装置10C,10D(Ethernet側)に送信される通信メッセージに対するメッセージ認証の処理手順の概要を図面を参照して説明する。
図3に示すように、送信側(CAN側)の電子制御装置10A,10Bでは、まず、送信対象とされる通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより所定のビット数(本実施の形態では、128ビット)のMACである「MAC‐L(100)」を生成する。続いて、この生成した「MAC‐L(100)」のうちの下位32ビットを切り出す(つまり、残りの上位96ビットを削除する)ことによりコード長が短縮された「MAC‐S(101)」を生成する。そして、この生成した「MAC‐S(101)」を通信メッセージMに付加した上で第1の通信バスNW1を介してゲートウェイ装置GWに送出する。
ゲートウェイ装置GWは、送信側の電子制御装置10A,10Bから通信メッセージMを受信すると、その受信した通信メッセージMに付加されているMACに対して補完を行う必要があるか否かを識別する。この補完の必要性の識別は、通信メッセージMの送信先となる通信バスにおいて付加されるMACのビット数が、通信メッセージMの送信元となる通信バスにおいて付加されるMACのビット数よりも多いときに行われる。ここでは、送信先となる第2の通信バスNW2において付加されるMACのビット数(128ビット)が送信元となる第1の通信バスNW1において付加されるMACのビット数(32ビット)よりも多いため、MACの補完が必要であると識別する。その結果、受信した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより、送信側の電子制御装置10A,10Bと同様に「MAC‐L(102)」を生成する。また、この生成した「MAC‐L(102)」のうち、送信側の電子制御装置10A,10Bにおいて切り出された下位32ビットに対応する部分以外のコード列、すなわち上位96ビットを切り出すことにより「MAC(補完)(103)」を生成する。続いて、この生成した「MAC(補完)(103)」を、受信した通信メッセージMに付加されている「MAC‐S(101)」に対して補完することによりコード長が延長されたMACを生成する。そして、この生成したMACを通信メッセージMに新たに付加した上で第2の通信バスNW2を介して電子制御装置10C,10Dに送出する。
受信側(Ethernet側)の電子制御装置10C,10Dでは、ゲートウェイ装置GWから通信メッセージMを受信すると、その受信した通信メッセージMをMACから分離する。そして、分離した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより、送信側の電子制御装置10A,10B及びゲートウェイ装置GWと同様に「MAC‐L(104)」を生成する。また、この生成した「MAC‐L(104)」と、通信メッセージMから分離したMACとの照合を行う。
ここで、図4に示すように、照合の対象となるMACのうちの上位96ビットは、ゲートウェイ装置GWにおいて通信メッセージMに対し共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより生成した128ビットのうちの上位96ビットである。また、同じく照合の対象となるMACのうちの下位32ビットは、送信側の電子制御装置10A,10Bにおいて通信メッセージMに対し共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより生成した128ビットのうちの下位32ビットである。そのため、受信側の電子制御装置10C,10Dでは、通信メッセージM、共通鍵K、及びMACアルゴリズムALを共通に用いて暗号化処理を行う限りは、この暗号化処理により得られる「MAC‐L(104)」は、照合の対象となるMACと合致することとなる。そのため、受信側の電子制御装置10C,10Dでは、このMACが合致したときには、通信メッセージMの送信元が共通の暗号化処理を実行可能な正当な電子制御装置10A,10Bである旨を認証することが可能となる。
その一方で、図5に示すように、送信側(CAN側)の電子制御装置10Aα,10Bαが共通鍵K及びMACアルゴリズムALを有さない不正な電子制御装置であるときには、第1の通信バスNW1を介してゲートウェイ装置GWに送出される通信メッセージMには「不正なMAC‐S(101α)」が付加されることとなる。こうした通信メッセージMは、通常であればゲートウェイ装置GWが「不正なMAC‐S(101α)」を検出することにより第2の通信バスNW2への中継が遮断されることとなる。しかしながら、ゲートウェイ装置GW自体が外部からの不正プログラム等により不正にコントロールされているときには、こうした通信メッセージMが不正に、もしくは誤って第2の通信バスNW2へ中継されてしまうことも想定される。
この場合、ゲートウェイ装置GWは、正常な電子制御装置10A,10Bから通信メッセージMを受信したときと同様、通信メッセージMに付加されているMACの補完を行った上で、通信メッセージMを第2の通信バスNW2に中継する。ただし、補完により生成されたMACのうちの下位32ビットは、不正な電子制御装置10Aα,10Bαにおいて生成された「不正なMAC‐S(101α)」となる点が正常な電子制御装置10A,10Bから通信メッセージMを受信した場合とは異なる。
すなわち、図6に示すように、照合の対象となるMACのうちの上位96ビットは、ゲートウェイ装置GWにおいて通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより生成した128ビットのうちの上位96ビットである点は共通である。しかしながら、照合の対象となるMACのうちの下位32ビットは、送信側となる不正の電子制御装置10Aα,10Bαにおいて生成された不正なMACであることから、MACの照合の結果、認証は成立しないこととなる。そのため、受信側の電子制御装置10C,10Dでは、もし仮にゲートウェイ装置GWが外部から不正にコントロールされていたとしても、通信メッセージMの送信元が共通の暗号化処理を実行不能な不正な電子制御装置10Aα,10Bαである旨を認知することが可能となる。
次に、本実施の形態の車載ネットワークシステムにあって、第2の通信バスNW2に接続された電子制御装置10C,10D(Ethernet側)から第1の通信バスNW1に接続された電子制御装置10A,10B(CAN側)に送信される通信メッセージに対するメッセージ認証の処理手順の概要を図面を参照して説明する。
図7に示すように、送信側(Ethernet側)の電子制御装置10C,10Dでは、まず、送信対象とされる通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより所定のビット数(本実施の形態では、128ビット)のMACである「MAC‐L(110)」を生成する。そして、この生成した「MAC‐L(110)」を通信メッセージMに付加した上で第2の通信バスNW2を介してゲートウェイ装置GWに送出する。
ゲートウェイ装置GWは、送信側の電子制御装置10C,10Dから通信メッセージMを受信すると、その受信した通信メッセージMに付加されているMACに対して切り出しを行う必要があるか否かを識別する。この切り出しの必要性の識別は、通信メッセージMの送信先となる通信バスにおいて付加されるMACのビット数が、通信メッセージMの送信元となる通信バスにおいて付加されるMACのビット数よりも少ないときに行われる。ここでは、送信先となる第1の通信バスNW1において付加されるMACのビット数(32ビット)が送信元となる第2の通信バスNW2において付加されるMACのビット数(128ビット)よりも少ないため、MACの切り出しが必要であると識別する。その結果、受信した通信メッセージMに付加されている「MAC‐L(110)」のうちの下位32ビットを切り出す(つまり、残りの上位96ビットを削除する)ことによりコード長が短縮された「MAC‐S(切り出し)(111)」を生成する。そして、この生成した「MAC‐S(切り出し)(111)」を通信メッセージMに付加した上で第1の通信バスNW1を介して電子制御装置10A,10Bに送出する。
受信側(CAN側)の電子制御装置10A,10Bでは、ゲートウェイ装置GWから通信メッセージMを受信すると、その受信した通信メッセージMを「MAC‐S(切り出し)(111)」から分離する。そして、分離した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより、送信側の電子制御装置10C,10D及びゲートウェイ装置GWと同様に「MAC‐L(112)」を生成する。また、この生成した「MAC‐L(112)」のうちの下位32ビットを切り出すことにより「MAC‐S(113)」を生成する。そして、この生成した「MAC‐S(113)」と、通信メッセージMから分離した「MAC‐S(切り出し)(111)」との照合を行う。
ここで、図8に示すように、照合の対象となる「MAC‐S(切り出し)(111)」は、送信側の電子制御装置10C,10Dにおいて通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより生成した128ビットのうちの下位32ビットである。そのため、受信側の電子制御装置10A,10Bでは、通信メッセージM、共通鍵K、及びMACアルゴリズムALを共通に用いて暗号化処理を行う限りは、この暗号化処理により得られる「MAC‐S(113)」は、照合の対象となる「MAC‐S(切り出し)(111)」と合致することとなる。そのため、受信側の電子制御装置10A,10Bでは、このMACの照合により認証が成立したときには、通信メッセージMの送信元が共通の暗号化処理を実行可能な正当な電子制御装置10C,10Dである旨を認証することが可能となる。
その一方で、図9に示すように、送信側(Ethernet側)の電子制御装置10Cα、10Dαが共通鍵K及びMACアルゴリズムALを有さない不正な電子制御装置であるときには、第2の通信バスNW2を介してゲートウェイ装置GWに送出される通信メッセージMには「不正なMAC‐L(110α)」が付加されることとなる。こうした通信メッセージMは、通常であればゲートウェイ装置GWが「不正なMAC‐L(110α)」を検出することにより第1の通信バスNW1への中継が遮断されることとなる。しかしながら、ゲートウェイ装置GW自体が外部からの不正プログラム等により不正にコントロールされているときには、こうした通信メッセージMが誤って第1の通信バスNW1へ中継されてしまうことも想定されることは上述の通りである。
この場合、ゲートウェイ装置GWは、正常な電子制御装置10C,10Dから通信メッセージMを受信したときと同様、通信メッセージMに付加されているMACの切り出しを行った上で、通信メッセージMを第1の通信バスNW1に中継する。ただし、切り出しにより生成されたMACは、不正な電子制御装置10Cα,10Dαにおいて生成された「不正なMAC‐L(110α)」の一部となる点が正常な電子制御装置10C,10Dから通信メッセージMを受信した場合とは異なる。
すなわち、図10に示すように、照合の対象となる「MAC‐S(113)」は、送信側となる不正の電子制御装置10Cα,10Dαにおいて生成された「不正なMAC‐L(110α)」の一部である「不正なMAC‐S(切り出し)(111α)」とは合致しないこととなる。そのため、受信側の電子制御装置10A,10Bでは、もし仮にゲートウェイ装置GWが外部から不正にコントロールされていたとしても、通信メッセージMの送信元が共通の暗号化処理を実行不能な不正な電子制御装置10Cα、10Dαである旨を認知することが可能となる。
次に、本実施の形態の車載ネットワークシステム、特に、ゲートウェイ装置GWの作用について説明する。
車載ネットワークシステムは、互いに通信プロトコルの異なる第1の通信バスNW1及び第2の通信バスNW2を含んで構成されている。これら通信バスNW1,NW2は、各々の通信プロトコルの相違に起因してそれら通信速度もしくは通信容量が互いに異なっている。そして、高速・大容量の通信バスである第2の通信バスNW2の方がデータ通信量が多いため、許容される通信メッセージMの最大ビット数も多くなっており、結果として、付加可能なMACの最大ビット数も多くなっている。
このため、例えば低速・小容量となる第1の通信バスNW1から高速・大容量となる第2の通信バスNW2に通信メッセージを送信する際には、送信元となる第1の通信バスNW1側において設定可能であったMACが送信先となる第2の通信バスNW2において許容される最大ビット数を活かしきれなくなることもある。この点、本実施の形態のゲートウェイ装置GWは、通信メッセージMを第1の通信バスNW1から第2の通信バスNW2に中継するときには、通信メッセージMに付加されているMACのコード長を延長して第2の通信バスNW2に適合させる。
一方、高速・大容量となる第2の通信バスNW2から低速・小容量となる第1の通信バスNW1に通信メッセージMを送信する際には、送信元となる第2の通信バスNW2側において設定可能であったMACが送信先となる第1の通信バスNW1においては許容される最大ビット数に収まりきらなくなることもある。この点、本実施の形態のゲートウェイ装置GWは、通信メッセージMを第2の通信バスNW2から第1の通信バスNW1に中継するときには、通信メッセージMに付加されているMACのコード長を短縮して第1の通信バスNW1に適合させる。
なお、ゲートウェイ装置GWによるMACのコード長の延長は、送信側(CAN側)の電子制御装置10A,10Bにおいて生成したビット列と、ゲートウェイ装置GWにおいて生成したビット列とを組み合わせることにより行われる。そのため、もし仮にゲートウェイ装置GWが外部から不正にコントロールされていたとしても、延長後のMACには、送信側となる不正な電子制御装置10Aα,10Bαにおいて生成されるビット列が不正なコード列として残存することとなる。そして、受信側(Ethernet側)の電子制御装置10C,10Dでは、この不正なコード列の有無に基づいてメッセージの認証を行うことが可能となる。
また、ゲートウェイ装置GWによるMACのコード長の短縮は、送信側(Ethernet側)の電子制御装置10C,10Dにおいて生成されたビット列の一部を削除することにより行われる。そのため、もし仮にゲートウェイ装置GWが外部から不正にコントロールされていたとしても、短縮後のMACには、送信側となる不正な電子制御装置10Cα,10Dαにおいて生成される不正なビット列が残存することとなる。そして、受信側(CAN側)の電子制御装置10A,10Bでは、この不正なコード列の有無に基づいてメッセージの認証を行うことが可能となる。
以上説明したように、上記第1の実施の形態によれば、以下に示す効果を得ることができる。
(1)通信メッセージの送信元となる通信バスと、通信メッセージの送信先となる通信バスとが互いに異なる通信プロトコルを用いていたとしても、通信メッセージに付加されているMACがMACコード長変換部16Gを通じて送信先の通信プロトコルに応じたコード長に変換される。そのため、互いに通信プロトコルの異なる複数の通信バスNW1,NW2の間においても、MACを用いたメッセージの認証が正常に実行されるようになる。
(2)具体的には、通信メッセージが低速・小容量の第1の通信バスNW1から高速・大容量の第2の通信バスNW2に中継されるときには、通信メッセージに付加されているMACのコード長を延長して第2の通信バスNW2に適合させる。また、通信メッセージが第2の通信バスNW2から第1の通信バスNW1に中継されるときには、通信メッセージに付加されているMACのコード長を短縮して第1の通信バスNW1に適合させる。そのため、互いに通信プロトコルの異なる複数の通信バスNW1,NW2の間においても、MACを用いたメッセージの認証が正常に実行されるようになる。
(3)ゲートウェイ装置GWにおいて共通鍵K及び共通のMACアルゴリズムALを用いて生成されるコード列と、送信元となる電子制御装置10A,10Bにおいて共通鍵K及び共通のMACアルゴリズムALを用いて生成されるコード列とを組み合わせることにより、MACのコード長の延長が行われる。そのため、ゲートウェイ装置GWが外部から不正にコントロールされたとしても、第1の通信バスNW1から第2の通信バスNW2に中継される通信メッセージに付加されたMACのうち、送信元となる不正な電子制御装置10Aα,10Bαにおいて生成されるコード列が不正なコード列として残存することとなる。このため、第2の通信バスNW2に接続された送信先の電子制御装置10C,10Dでは、この不正なコード列の有無に基づいてメッセージの認証を適正に行うことが可能となる。
(4)通信メッセージに付加されているMACの一部を削除することにより、MACのコード長の短縮が行われる。そのため、ゲートウェイ装置GWが外部から不正にコントロールされたとしても、対象となるMACが送信元となる不正な電子制御装置10Cα,10Dαにおいて生成されたコード列である限りは、短縮後のMACにも不正なコード列が残存することとなる。このため、第1の通信バスNW1に接続された送信先の電子制御装置10A,10Bでは、この不正なコード列の有無に基づいてメッセージの認証を適正に行うことが可能となる。
(5)第1の通信バスNW1は、通信プロトコルとしてCANプロトコルを用いた通信バスであり、第2の通信バスNW2は、通信プロトコルとしてEthernetプロトコルを用いた通信バスである。そのため、汎用性の高いCANプロトコルやEthernetプロトコルを用いた電子制御装置10A〜10Dの間での通信メッセージの授受を、高いセキュリティのもとで実現することができるようになる。
(第2の実施の形態)
次に、車載ネットワークシステムの第2の実施の形態について図面を参照して説明する。なお、第2の実施の形態は、ゲートウェイ装置が通信メッセージに付加されているMACを検証する機能を有する点が第1の実施の形態と異なる。したがって、以下の説明においては、第1の実施の形態と相違する構成について主に説明し、第1の実施の形態と同一の又は対応する構成については重複する説明を省略する。
図11に示すように、本実施の形態では、ゲートウェイ装置GWAの情報処理部11GAは、第1の通信バスNW1及び第2の通信バスNW2の間で通信メッセージを中継する際に、通信メッセージに付加されているMACが正当なMACであるか否かを検証するMAC検証部17Gを備えている。
次に、本実施の形態の車載ネットワークシステムにあって、第1の通信バスNW1に接続された電子制御装置10A,10B(CAN側)から第2の通信バスNW2に接続された電子制御装置10C,10D(Ethernet側)に送信される通信メッセージに対するメッセージ認証の処理手順の概要を図面を参照して説明する。
図12に示すように、送信側(CAN側)の電子制御装置10A,10Bでは、まず、送信対象とされる通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより所定のビット数(本実施の形態では、128ビット)のMACである「MAC‐L(100)」を生成する。続いて、この生成した「MAC‐L(100)」のうち下位32ビットを切り出すことによりコード長が短縮された「MAC‐S(101)」を生成する。そして、この生成した「MAC‐S(101)」を通信メッセージMに付加した上で第1の通信バスNW1を介してゲートウェイ装置GWAに送出する。
ゲートウェイ装置GWAは、送信側の電子制御装置10A,10Bから通信メッセージMを受信すると、その受信した通信メッセージMに付加されているMACに対して補完を行う必要があるか否かを識別する。ここでは前述のように、送信先となる第2の通信バスNW2において付加されるMACのビット数(128ビット)が、送信元となる第1の通信バスNW1において付加されるMACのビット数(32ビット)よりも多いため、MACの補完が必要であると識別する。その結果、受信した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより、送信側の電子制御装置10A,10Bと同様に「MAC‐L(102)」を生成する。
そして次に、生成した「MAC‐L(102)」のうちの下位32ビットと、受信した通信メッセージMに付加されている「MAC‐S(101)」とが合致するか否かに基づき、通信メッセージMに付加されている「MAC‐S(101)」が正当なMACであるか否かを検証する。そして、正当なMACである旨の検証結果が得られることを条件に、この生成した「MAC‐L(102)」のうち、送信側の電子制御装置10A,10Bにおいて切り出された下位32ビットに対応する部分以外のコード列、すなわち上位96ビットを切り出すことにより「MAC(補完)(103)」を生成する。
続いて、この生成した「MAC(補完)(103)」を、受信した通信メッセージMに付加されている「MAC‐S(101)」に対して補完することによりコード長が延長されたMACを生成する。そして、この生成したMACを通信メッセージMに新たに付加した上で第2の通信バスNW2を介して電子制御装置10C,10Dに送出する。
受信側(Ethernet側)の電子制御装置10C,10Dでは、ゲートウェイ装置GWAから通信メッセージMを受信すると、その受信した通信メッセージMをMACから分離する。そして、分離した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより、送信側の電子制御装置10A,10B及びゲートウェイ装置GWAと同様に「MAC‐L(104)」を生成する。また、この生成した「MAC‐L(104)」と、通信メッセージMから分離したMACとの照合を行うことにより、通信メッセージMの送信元が共通の暗号化処理を実行可能な正当な電子制御装置10A,10Bである旨を認証する。
ここで、図13に示すように、送信側(CAN側)の電子制御装置10Aα,10Bαが共通鍵K及びMACアルゴリズムALを有さない不正な電子制御装置であるときには、第1の通信バスNW1を介してゲートウェイ装置GWAに送出される通信メッセージMには「不正なMAC‐S(101α)」が付加されることとなる。こうした通信メッセージMは、通常であればゲートウェイ装置GWAが「不正なMAC‐S(101α)」を検出することにより第2の通信バスNW2への中継が遮断されることとなる。しかしながら、ゲートウェイ装置GWA自体が外部からの不正プログラム等により不正にコントロールされているときには、こうした通信メッセージMが不正に、もしくは誤って第2の通信バスNW2へ中継されてしまうことも想定される。
この場合、ゲートウェイ装置GWAは、正常な電子制御装置10A,10Bから通信メッセージMを受信したときと同様、通信メッセージMに付加されているMACの検証を行う。ここで、受信した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化を行うことにより生成される「MAC‐L(102)」の下位32ビットと、不正な電子制御装置10Aα,10Bαにおいて生成された「不正なMAC‐S(101α)」とは合致しないこととなり、MACの検証は不成立となる。そして、ゲートウェイ装置GWAは、不正な電子制御装置10Aα,10Bαから受信した通信メッセージMを排除する。すなわち、もし仮にゲートウェイ装置GWAが外部から不正にコントロールされていたとしても、通信メッセージの送信元が共通の暗号化処理を実行不能な不正な電子制御装置10Aα,10Bαである限りは、この不正な電子制御装置10Aα,10Bαから送信された通信メッセージMは第1の通信バスNW1から第2の通信バスNW2に中継されることはない。
次に、本実施の形態の車載ネットワークシステムにあって、第2の通信バスNW2に接続された電子制御装置10C,10D(Ethernet側)から第1の通信バスNW1に接続された電子制御装置10A,10B(CAN側)に送信される通信メッセージに対するメッセージ認証の処理手順の概要を図面を参照して説明する。
図14に示すように、送信側(Ethernet側)の電子制御装置10C,10Dでは、まず、送信対象とされる通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより所定のビット数(本実施の形態では、128ビット)のMACである「MAC‐L(110)」を生成する。そして、この生成した「MAC‐L(110)」を通信メッセージMに付加した上で第2の通信バスNW2を介してゲートウェイ装置GWAに送出する。
ゲートウェイ装置GWAは、送信側の電子制御装置10C,10Dから通信メッセージMを受信すると、その受信した通信メッセージMに付加されているMACに対して切り出しを行う必要があるか否かを識別する。ここでは前述のように、送信先となる第1の通信バスNW1において付加されるMACのビット数(32ビット)が送信元となる第2の通信バスNW2において付加されるMACのビット数(128ビット)よりも少ないため、MACの切り出しが必要であると識別する。その結果、受信した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより、送信側の電子制御装置10C,10Dと同様に「MAC‐L(114)」を生成する。
そして次に、生成した「MAC‐L(114)」と、通信メッセージMに付加されている「MAC‐L(110)」とが合致するか否かに基づき、通信メッセージMに付加されている「MAC‐L(110)」が正当なMACであるか否かを検証する。そして、正当なMACである旨の検証結果が得られることを条件に、通信メッセージMに付加されている「MAC‐L(110)」のうちの下位32ビットを切り出すことによりコード長が短縮された「MAC‐S(切り出し)(111)」を生成する。そして、この生成した「MAC‐S(切り出し)(111)」を通信メッセージMに付加した上で第1の通信バスNW1を介して電子制御装置10A,10Bに送出する。
受信側(CAN側)の電子制御装置10A,10Bでは、ゲートウェイ装置GWAから通信メッセージMを受信すると、その受信した通信メッセージMを「MAC‐S(切り出し)(111)」から分離する。そして、分離した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化処理を行うことにより、送信側の電子制御装置10C,10D及びゲートウェイ装置GWAと同様に「MAC‐L(112)」を生成する。また、この生成した「MAC‐L(112)」のうちの下位32ビットを切り出すことにより「MAC‐S(113)」を生成する。そして、この生成した「MAC‐S(113)」と、通信メッセージMから分離した「MAC‐S(切り出し)(111)」との照合を行うことにより、通信メッセージMの送信元が共通の暗号化処理を実行可能な正当な電子制御装置10C,10Dである旨を認証する。
ここで、図15に示すように、送信側(Ethernet側)の電子制御装置10Cα,10Dαが共通鍵K及びMACアルゴリズムALを有さない不正な電子制御装置であるときには、第1の通信バスNW1を介してゲートウェイ装置GWAに送出される通信メッセージMには「不正なMAC‐L(110α)」が付加されることとなる。こうした通信メッセージMは、通常であればゲートウェイ装置GWAが「不正なMAC‐L(110α)」を検出することにより第2の通信バスNW2への中継が遮断されることとなる。しかしながら、ゲートウェイ装置GWA自体が外部からの不正プログラム等により不正にコントロールされているときには、こうした通信メッセージMが不正に、もしくは誤って第2の通信バスNW2へ中継されてしまうことも想定される。
この場合、ゲートウェイ装置GWAは、正常な電子制御装置10C,10Dから通信メッセージMを受信したときと同様、通信メッセージMに付加されているMACの検証を行う。ここで、受信した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化を行うことにより生成される「MAC‐L(114)」と、不正な電子制御装置10Cα,10Dαにおいて生成された「不正なMAC‐L(110α)」とは合致しないこととなり、MACの検証は不成立となる。そして、ゲートウェイ装置GWAは、不正な電子制御装置10Cα,10Dαから受信した通信メッセージMを排除する。すなわち、もし仮にゲートウェイ装置GWAが外部から不正にコントロールされていたとしても、通信メッセージMの送信元が共通の暗号化処理を実行不能な不正な電子制御装置10Cα,10Dαである限りは、この不正な電子制御装置10Cα,10Dαから送信された通信メッセージMは第2の通信バスNW2から第1の通信バスNW1に中継されることはない。
以上説明したように、上記第2の実施の形態によれば、第1の実施の形態の上記(1)〜(5)の効果に加え、以下に示す効果を得ることができる。
(6)ゲートウェイ装置GWAでは、通信メッセージに対して共通鍵K及び共通のMACアルゴリズムALを用いて暗号化することにより生成されるコード列のうちMACに対応する部分のコード列と、通信メッセージに付加されているMACのコード列との照合を通じたコード列の検証が成立したことを条件に、MACのコード長の変換が行われる。すなわち、ゲートウェイ装置GWAが外部から不正にコントロールされていれば、ゲートウェイ装置GWAにおいて共通鍵K及び共通のMACアルゴリズムを用いて生成されるコード列と、送信元となる電子制御装置において生成される不正なコード列とは互いに異なることとなり、これらのコード列の検証は不成立となる。そのため、ゲートウェイ装置GWAにおいて検証が成立した通信メッセージのみが送信先となる電子制御装置に中継されることとなるため、その認証の精度をより一層高めることが可能となる。
(その他の実施の形態)
なお、上記各実施の形態は、以下のような形態にて実施することもできる。
・上記各実施の形態において、ゲートウェイ装置GW,GWAは、第1の通信バスNW1から第2の通信バスNW2に通信メッセージを中継する際、受信した通信メッセージMに対して共通鍵Kを用いてMACアルゴリズムALによる暗号化を行うことにより生成される「MAC‐L(102)」自体を通信メッセージMに付加することにより、MACのコード長を延長するようにしてもよい。
・上記各実施の形態においては、ゲートウェイ装置GW,GWAを介してMACのコード長を短縮する場合、第2の通信バスNW2から送られる通信メッセージMに付加されているMACからその下位32ビット分だけ切り出すようにしたが、ゲートウェイ装置GW,GWA自身が同一の共通鍵K、MACアルゴリズムALによって生成したMACからその下位32ビット分を切り出すようにしてもよい。
・上記各実施の形態において、通信メッセージに対して共通鍵を用いてMACアルゴリズムによる暗号化を行うことにより生成されるMACのビット数は128ビット以外のビット数であってもよい。要は、送信側の電子制御装置と受信側の電子制御装置との間で授受される通信メッセージのMACによる認証を正常に実行する上で必要とされるビット数であればよい。
・上記各実施の形態において、CANフレームFAに付加されるMACのビット数は32ビット以外のビット数であってもよく、また、EthernetフレームFBに付加されるMACのビット数も128ビット以外のビット数であってもよい。要は、EthernetフレームFBに付加されるMACのビット数がCANフレームFAに付加されるビット数よりも長ければよい。
・上記各実施の形態において、車載ネットワークシステムを構成する通信バスの通信プロトコルの組み合わせは、CANとEthernetとの組み合わせに限られず、FlexRay(登録商標)やLin(ローカルインターコネクトネットワーク)等の他の通信プロトコルを含んだ組み合わせであってもよい。要は、互いに異なる通信プロトコルの組み合わせであればよい。