(57)【特許請求の範囲】
【請求項１】
鍵管理装置を有する親局と複数の端末機器を備えた子局とをネットワークを介して通信し、鍵を共有する鍵管理システムであって、
前記鍵管理装置は、
前記子局の通信機器を識別する通信機器識別情報と、前記通信機器と通信する複数の端末機器それぞれを識別する複数の端末機器識別情報と、前記通信機器が生成したチャレンジと、前記チャレンジに対して前記複数の端末機器それぞれがそれぞれの端末機器固有鍵を用いて生成したレスポンスと、を含む鍵要求を受信する受信部と、
前記鍵要求に含まれる前記通信機器識別情報を用いて、前記通信機器の通信機器固有鍵を生成し、前記鍵要求に含まれる前記複数の端末機器識別情報を用いて、複数の端末機器それぞれの前記端末機器固有鍵を生成する機器鍵生成部と、
前記生成した前記端末機器固有鍵を用いて前記チャレンジと前記レスポンスを検証する認証情報検証部と、
前記認証情報検証部により検証が成功した場合、前記通信機器と前記複数の端末機器が共有する共有鍵を生成する共有鍵生成部と、
前記共有鍵を前記通信機器固有鍵で暗号化し、かつ、前記共有鍵を前記複数の端末機器それぞれの前記端末機器固有鍵で暗号化した暗号化共有鍵を生成する暗号化共有鍵生成部と、
前記暗号化共有鍵を含む鍵応答を生成する鍵応答生成部と、
前記鍵応答を前記通信機器に送信する送信部とを備えたことを特徴とする鍵管理システム。
【請求項２】
前記鍵管理装置および前記複数の端末機器は、複数のメーカによって製造され、これらの機器を組み合わせて構成されるものであって、
前記共有鍵生成部は、
前記鍵要求に含まれる前記端末機器のメーカを識別する第一メーカ識別情報を用いて第一メーカ再生鍵を生成し、前記第一メーカ再生鍵と前記鍵要求に含まれる前記通信機器識別情報とを用いて前記通信機器固有鍵を生成し、前記鍵要求に含まれる前記複数の端末機器それぞれのメーカを識別する複数のメーカ識別情報を用いて複数のメーカ再生鍵を生成し、前記複数のメーカ再生鍵と前記鍵要求に含まれる前記複数の端末機器識別情報とを用いて前記複数の端末機器それぞれの前記端末機器固有鍵を生成するようにしたことを特徴とする請求項１に記載の鍵管理システム。
【請求項３】
前記レスポンスは、
前記チャレンジを第一の端末機器が第一の端末機器固有鍵で暗号化して第一のレスポンスを生成し、
前記第一のレスポンスを第二の端末機器が第二の端末機器固有鍵で暗号化して第二のレスポンスを生成し、
さらに、同様の処理を前記複数の端末機器で順次、第（Ｎ―1）の端末機器が第Ｎの端末機器固有鍵で暗号化して第Ｎのレスポンスを生成するまで行い、
前記第Ｎのレスポンスを前記親局に送信するようにしたことを特徴とする請求項１または２に記載の鍵管理システム。
【請求項４】
前記認証情報検証部は、
前記鍵要求に含まれる前記レスポンスに対し、前記共有鍵生成部で生成した前記第Ｎの端末機器固有鍵から前記第一の端末機器固有鍵それぞれを順に用いて復号してチャレンジを生成し、
この生成したチャレンジが前記鍵要求に含まれる前記チャレンジと一致するかを検証するようにしたことを特徴とする請求項３に記載の鍵管理システム。
【請求項５】
前記レスポンスは、
前記チャレンジに対し、第一の端末機器が第一の端末機器固有鍵で第一の認証コードを生成し、
前記第一の認証コードに対し、第二の端末機器が第二の端末機器固有鍵で第二の認証コードを生成し、
さらに、同様の処理を前記複数の端末機器で順次、第Ｎの端末機器が第Ｎの端末機器固有鍵で第Ｎの認証コードを生成するまで行い、
前記第Ｎの認証コードを前記レスポンスとするようにしたことを特徴とする請求項１または２に記載の鍵管理システム。
【請求項６】
前記認証情報検証部は、
前記鍵要求に含まれる前記チャレンジに対し、前記共有鍵生成部で生成した前記第一の端末機器固有鍵から前記第Ｎの端末機器固有鍵それぞれを順に用いて認証コードを生成し、
前記生成した認証コードが前記鍵要求に含まれる前記レスポンスと一致するかを検証するようにしたことを特徴とする請求項５に記載の鍵管理システム。
【請求項７】
製品内に設けられた第一から第Ｎまでの複数の端末機器それぞれの間で鍵を共有する通信機器であって、
前記通信機器は、
前記第一から第Ｎまでの複数の端末機器それぞれのネットワーク情報を記憶した構成情報を有し、
情報要求を生成し、前記構成情報を参照して、前記第一の端末機器に前記情報要求を送信する情報要求部と、
前記情報要求に対する情報応答を前記第Ｎの端末機器から受信する受信部と、
前記情報応答から鍵要求を生成し、前記鍵要求を鍵管理装置に送信する共有鍵要求部と、
前記鍵要求に対する暗号化共有鍵を前記鍵管理装置から受信する受信部と、
前記暗号化共有鍵に含まれる第一暗号化共有鍵を、前記通信機器の通信機器固有鍵を用いて復号して共有鍵を取得する共有鍵復号部と、
前記暗号化共有鍵に含まれるその他の暗号化共有鍵を、前記構成情報を参照して、前記第一から第Ｎまでの複数の端末機器に送信する共有鍵配布部とを備えたことを特徴とする通信機器。
【請求項８】
前記情報要求は、
前記通信機器が生成したチャレンジと、前記構成情報とを含み、
前記情報応答は、
前記第一から第Ｎまでの複数の端末機器それぞれを識別する第一から第Ｎまでの複数の端末機器識別情報と、前記チャレンジに対し、前記第一から第Ｎまでの複数の端末機器それぞれがそれぞれの端末機器固有鍵を用いて生成したレスポンスとを含み、
前記鍵要求は、
前記チャレンジと、前記レスポンスと、前記通信機器を識別する通信機器識別情報と、前記第一から第Ｎまでの複数の端末機器識別情報とを含むことを特徴とする請求項７に記載の通信機器。
【請求項９】
前記レスポンスは、
前記チャレンジを第一の端末機器が第一の端末機器固有鍵で暗号化して第一のレスポンスを生成し、
前記第一のレスポンスを第二の端末機器が第二の端末機器固有鍵で暗号化して第二のレスポンスを生成し、
さらに、同様の処理を各端末機器にて順次、第Ｎの端末機器が第Ｎの端末機器固有鍵で暗号化して第Ｎのレスポンスを生成するまで行い、
前記第Ｎのレスポンスを前記レスポンスとすることを特徴とする請求項８に記載の通信機器。
【請求項１０】
前記レスポンスは、
前記チャレンジに対し、第一の端末機器が第一の端末機器固有鍵で第一の認証コードを生成し、
前記第一の認証コードに対し、第二の端末機器が第二の端末機器固有鍵で第二の認証コードを生成し、
さらに、同様の処理を各端末機器にて順次、第Ｎの端末機器が第Ｎの端末機器固有鍵で第Ｎの認証コードを生成するまで行い、
前記第Ｎの認証コードを前記レスポンスとすることを特徴とする請求項８に記載の通信機器。
【請求項１１】
前記複数の端末機器は、複数のドメインに分割されて形成されており、
前記通信機器は、
前記ドメイン内に存在する複数の端末機器それぞれのネットワーク情報を記憶した構成情報を前記ドメイン毎に備え、
前記情報要求部による情報要求の送信と、前記共有鍵要求部による鍵要求の送信と、前記共有鍵復号部による共有鍵の復号と、前記共有鍵配布部による暗号化共有鍵の送信とを、前記ドメイン毎に実施するように構成したことを特徴とする請求項７から１０のいずれか１項に記載の通信機器。
【請求項１２】
通信機器および第一から第Ｎまでの複数の端末機器を有する子局と、この子局に対しネットワークを介して通信する親局との間で鍵を共有する鍵共有方法であって、
前記通信機器が情報要求を生成して第一の端末機器に送信し、
前記第一の端末機器が前記情報要求に対する第一の情報応答を生成して第二の端末機器に送信し、
さらに、同様の処理を各端末機器にて順次行い、第Ｎの端末機器が第Ｎの情報応答を生成して前記通信機器に送信し、
前記通信機器が前記第Ｎの情報応答から鍵要求を生成して鍵管理装置に送信し、
前記鍵要求は、前記通信機器を識別する通信機器識別情報と、前記通信機器と通信する第一から第Ｎまでの複数の端末機器それぞれを識別する第一から第Ｎまでの複数の端末機器識別情報と、前記通信機器が生成したチャレンジと、前記チャレンジに対して前記第一から第Ｎまでの複数の端末機器それぞれがそれぞれの端末機器固有鍵を用いて生成したレスポンスとを含み、
前記鍵管理装置は、前記鍵要求に含まれる前記通信機器識別情報を用いて前記通信機器の通信機器固有鍵を生成し、前記鍵要求に含まれる前記第一から第Ｎまでの複数の端末機器識別情報を用いて前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵を生成し、前記生成した前記端末機器固有鍵を用いて前記チャレンジと前記レスポンスを検証し、検証に成功した場合に、前記通信機器と前記第一から第Ｎまでの複数の端末機器が共有する共有鍵を生成するとともに当該生成した共有鍵を前記通信機器固有鍵で暗号化し、かつ、前記共有鍵を前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵で暗号化して暗号化共有鍵を生成し、前記暗号化共有鍵を含む鍵応答を生成して前記通信機器に送信し、
前記通信機器が、前記暗号化共有鍵に含まれる、前記通信機器固有鍵で暗号化された暗号化共有鍵を、前記通信機器の前記通信機器固有鍵を用いて復号して共有鍵を取得し、
前記暗号化共有鍵を前記第一から第Ｎまでの複数の端末機器に送信し、
前記第一から第Ｎまでの複数の端末機器それぞれが、前記共有鍵を前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵で暗号化された暗号化共有鍵を、前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵で復号して共有鍵を取得するようにしたことを特徴とする鍵共有方法。
【請求項１３】
前記鍵管理装置および前記第一から第Ｎまでの複数の端末機器は、複数のメーカによって製造された機器であり、
前記鍵管理装置は、
前記鍵要求に含まれる前記通信機器のメーカを識別する第一メーカ識別情報を用いて第一メーカ再生鍵を生成するとともに、前記第一メーカ再生鍵と前記鍵要求に含まれる前記通信機器識別情報とを用いて前記通信機器固有鍵を生成し、さらに、前記鍵要求に含まれる前記第一から第Ｎまでの複数の端末機器それぞれのメーカを識別する複数のメーカ識別情報を用いて複数のメーカ再生鍵を生成するとともに、前記複数のメーカ再生鍵と前記鍵要求に含まれる前記第一から第Ｎまでの複数の端末機器識別情報とを用いて前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵を生成するようにしたことを特徴とする請求項１２に記載の鍵共有方法。
【請求項１４】
前記鍵要求に含まれる前記レスポンスは、
前記チャレンジを第一の端末機器が第一の端末機器固有鍵で暗号化して第一のレスポンスを生成し、
前記第一のレスポンスを第二の端末機器が第二の端末機器固有鍵で暗号化して第二のレスポンスを生成し、
さらに、同様の処理を各端末機器にて順次、第Ｎの端末機器が第Ｎの端末機器固有鍵で暗号化して第Ｎのレスポンスを生成するまで行い、
前記第Ｎのレスポンスを前記レスポンスとするようにしたことを特徴とする請求項１２または１３に記載の鍵共有方法。
【請求項１５】
前記鍵管理装置は、
前記鍵要求に含まれる前記レスポンスに対し、前記生成した前記第Ｎの端末機器固有鍵から前記第一の端末機器固有鍵それぞれを順に用いて復号してチャレンジを生成し、
当該生成したチャレンジが前記鍵要求に含まれる前記チャレンジと一致するかを検証することを特徴とする請求項１４に記載の鍵共有方法。
【請求項１６】
前記レスポンスは、
前記チャレンジに対して第一の端末機器が第一の端末機器固有鍵で第一の認証コードを生成し、
前記第一の認証コードに対して第二の端末機器が第二の端末機器固有鍵で第二の認証コードを生成し、
さらに、同様の処理を各端末機器にて順次、第Ｎの端末機器が第Ｎの端末機器固有鍵で第Ｎの認証コードを生成するまで行い、
前記第Ｎの認証コードを前記レスポンスとするようにしたことを特徴とする請求項１２または１３に記載の鍵共有方法。
【請求項１７】
前記鍵管理装置は、
前記鍵要求に含まれる前記チャレンジに対して前記生成した前記第一の端末機器固有鍵から前記第Ｎの端末機器固有鍵それぞれを順に用いて認証コードを生成し、
当該生成した認証コードが前記鍵要求に含まれる前記レスポンスと一致するかを検証するようにしたことを特徴とする請求項１６に記載の鍵共有方法。
【請求項１８】
前記複数の端末機器は、複数のドメインに分割されて形成されており、
前記通信機器が前記情報要求の送信と、前記鍵要求の送信と、前記共有鍵の復号と、前記暗号化共有鍵の送信とをいずれも前記ドメイン毎に実施するようにしたことを特徴とする請求項１２から１７のいずれか１項に記載の鍵共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信セキュリティを確保するための鍵を共有する鍵管理技術に関するものである。
【背景技術】
【０００２】
現在、自動車業界では、２０２０年代の自動運転の実現に向けて自動ブレーキ機能およびレーンキープ機能等、様々な運転支援機能が開発されている。これらの開発された運転支援機能は、自動車に搭載されている。
今後は、クラウド、路側器および他の自動車といった外部の様々なものと通信を行うことによって、より高度な運転支援機能が実現されると予想されている。【０００３】
一方、自動車が外部と通信を行うようになると、自動車が悪意ある攻撃を受けてしまう可能性が高まることになり、通信セキュリティの確保が重要となる。
このような通信セキュリティに関する技術として、認証を行う手法が提案されている。（非特許文献１参照）
この手法では、送信装置と受信装置との間で認証に用いる共通鍵があらかじめ共有される状況を想定している。
しかしながら、自動車は、様々なメーカ製の車載機器を組み立てて製造されるため、各メーカが車載機器の通信関係をあらかじめ把握することは難しく、車載機器を製造するときに車載機器に鍵を設定することは困難である。また、運用中に車載機器が交換されることも有り得るため、製造時に車載機器に鍵を設定するだけでは不十分である。【０００４】
これに対処するため、公開鍵暗号方式を用いて鍵を配布する手法が提案されている。（特許文献１参照）
しかしながら、車載機器にはコストおよびリソースに関する制限があるため、公開鍵暗号方式をサポートしない車載機器が存在することは避けられない。したがって、特許文献１による手法を全ての車載機器に適用することは困難である。【０００５】
このため、特許文献２においては、共通鍵暗号方式を用い、認証に用いる共通鍵を事前共有していない機器同士が当該共通鍵を安全に共有するための手法が提案されている。
この特許文献２の手法を用いれば、例えば自動車の車両内に設けられた異なるプロトコル技術を用いたネットワークを相互接続するゲートウェイ（Ｇａｔｅｗａｙ；以下、ＧＷと称す)が車載機器の機器認証を行いたい場合、以下のように実行することによって実現することが可能である。【０００６】
（１）ＧＷは、車載機器からメーカの識別情報（identification；以下、ＩＤと称す）と機器ＩＤを受け取る。
（２）ＧＷは、車載機器のメーカＩＤと機器ＩＤを管理サーバに渡す。
（３）管理サーバは、自身が保持するマスタ鍵とメーカＩＤからメーカ用認証鍵を再生する。
（４）管理サーバは、再生したメーカ用認証鍵と機器ＩＤを用いて当該車載機器の認証鍵を再生する。
（５）管理サーバは、再生した認証鍵をＧＷへ送信する。
（６）ＧＷは、受信した認証鍵を用いて車載機器と相互認証を行う。【０００７】
以上により、様々なメーカの車載機器が搭載される車両内において、ＧＷが各車載機器の認証鍵を事前共有していなくても、ＧＷと各車載機器との間での認証を実現することが可能となる。また、この手法は、共通鍵暗号方式のみを使用するため、全ての車載機器に適用することが可能である。
なお、特許文献２の手法を用いてＧＷが車載機器と共通鍵の共有を行うタイミングとしては、大きく２つのケースが考えられる。
一つは、自動車メーカの工場において車両を組立てる時である。この時、ＧＷは、まだいずれの車載機器とも共通鍵を共有していない状態であるため、全ての車載機器と鍵共有処理を行うことになる。
もう一つは、ディーラ等で車両に新たな車載機器を追加する、あるいは既存の車載機器を交換する場合である。この場合、元々車内に存在している車載機器においては、ＧＷが既に共通鍵を共有している状態であるため、新たに追加される車載機器との間でのみ鍵共有処理を実行すればよい。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Specification  OF  Module  Secure  Onboard  Communication，  AUTOSAR  Release  4.2.2
【特許文献】
【０００９】
【特許文献１】特開２００４−２５９２６２号公報
【特許文献２】特許第５９９２１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、近年、車両に搭載される車載機器は増加しており、一台の車両内に百個以上の車載機器が搭載されるものがある。
このため、自動車メーカの工場にて車両を組立てる際に、特許文献２の手法を用いてＧＷが車両内に存在する全ての車載機器との鍵共有を実現するには、上記（１）〜（５）の鍵共有処理を車載機器の数だけ繰り返す必要がある。
この結果、ＧＷと管理サーバ間でやり取りされる通信パケット数が増加することになり、車両内の全ての車載機器との鍵共有に要する処理時間が長くなる。したがって、工場における車両の組立作業時間が長くなり、車両の生産効率上問題となる。【００１１】
この発明は、上述のような問題点を解消するためなされたもので、ＧＷが車両内に存在する全ての車載機器との鍵共有を行う際に、ＧＷと管理サーバ間でやり取りされる通信パケット数を削減し、当該鍵共有処理に要する処理時間を短縮することを目的とする。
【課題を解決するための手段】
【００１２】
この発明に係る鍵管理システムは、
鍵管理装置を有する親局と複数の端末機器を備えた子局とをネットワークを介して通信し、鍵を共有するものであって、
前記鍵管理装置は、
前記子局の通信機器を識別する通信機器識別情報と、前記通信機器と通信する複数の端末機器それぞれを識別する複数の端末機器識別情報と、前記通信機器が生成したチャレンジと、前記チャレンジに対して前記複数の端末機器それぞれがそれぞれの端末機器固有鍵を用いて生成したレスポンスと、を含む前記鍵要求を受信する受信部と、
前記鍵要求に含まれる前記通信機器識別情報を用いて、前記通信機器の通信機器固有鍵を生成し、前記鍵要求に含まれる前記複数の端末機器識別情報を用いて、複数の端末機器それぞれの前記端末機器固有鍵を生成する機器鍵生成部と、
前記生成した前記端末機器固有鍵を用いて前記チャレンジと前記レスポンスを検証する認証情報検証部と、
前記認証情報検証部により検証が成功した場合、前記通信機器と前記複数の端末機器が共有する共有鍵を生成する共有鍵生成部と、
前記共有鍵を前記通信機器固有鍵で暗号化し、かつ、前記共有鍵を前記複数の端末機器それぞれの前記端末機器固有鍵で暗号化した暗号化共有鍵を生成する暗号化共有鍵生成部と、
前記暗号化共有鍵を含む鍵応答を生成する鍵応答生成部と、
前記鍵応答を前記通信機器に送信する送信部とを備えたことを特徴としている。【００１３】
また、この発明に係る通信機器は、
製品内に設けられた第一から第Ｎまでの複数の端末機器それぞれの間で鍵を共有するものであって、
前記第一から第Ｎまでの複数の端末機器それぞれのネットワーク情報を記憶した構成情報を有し、
情報要求を生成し、前記構成情報を参照して、前記第一の端末機器に前記情報要求を送信する情報要求部と、
前記情報要求に対する情報応答を前記第Ｎの端末機器から受信する受信部と、
前記情報応答から鍵要求を生成し、前記鍵要求を鍵管理装置に送信する共有鍵要求部と、
前記鍵要求に対する暗号化共有鍵を前記鍵管理装置から受信する受信部と、
前記暗号化共有鍵に含まれる第一暗号化共有鍵を、前記通信機器の通信機器固有鍵を用いて復号して共有鍵を取得する共有鍵復号部と、
前記暗号化共有鍵に含まれるその他の暗号化共有鍵を、前記構成情報を参照して、前記第一から第Ｎまでの複数の端末機器に送信する共有鍵配布部とを備えたことを特徴としている。
【００１４】
さらに、この発明に係る鍵共有方法は、
通信機器および第一から第Ｎまでの複数の端末機器を有する子局と、この子局に対しネットワークを介して通信する親局との間で鍵を共有する方法であって、
前記通信機器が情報要求を生成して第一の端末機器に送信し、
前記第一の端末機器が前記情報要求に対する第一の情報応答を生成して第二の端末機器に送信し、
さらに、同様の処理を各端末機器にて順次行い、第Ｎの端末機器が第Ｎの情報応答を生成して前記通信機器に送信し、
前記通信機器が前記第Ｎの情報応答から鍵要求を生成して鍵管理装置に送信し、
前記鍵要求は、前記通信機器を識別する通信機器識別情報と、前記通信機器と通信する第一から第Ｎまでの複数の端末機器それぞれを識別する第一から第Ｎまでの複数の端末機器識別情報と、前記通信機器が生成したチャレンジと、前記チャレンジに対して前記第一から第Ｎまでの複数の端末機器それぞれがそれぞれの端末機器固有鍵を用いて生成したレスポンスとを含み、
前記鍵管理装置は、前記鍵要求に含まれる前記通信機器識別情報を用いて前記通信機器の通信機器固有鍵を生成し、前記鍵要求に含まれる前記第一から第Ｎまでの複数の端末機器識別情報を用いて前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵を生成し、前記生成した前記端末機器固有鍵を用いて前記チャレンジと前記レスポンスを検証し、検証に成功した場合に、前記通信機器と前記第一から第Ｎまでの複数の端末機器が共有する共有鍵を生成するとともに当該生成した共有鍵を前記通信機器固有鍵で暗号化し、かつ、前記共有鍵を前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵で暗号化して暗号化共有鍵を生成し、前記暗号化共有鍵を含む鍵応答を生成して前記通信機器に送信し、
前記通信機器が、前記暗号化共有鍵に含まれる、前記通信機器固有鍵で暗号化された暗号化共有鍵を、前記通信機器の前記通信機器固有鍵を用いて復号して共有鍵を取得し、
前記暗号化共有鍵を前記第一から第Ｎまでの複数の端末機器に送信し、
前記第一から第Ｎまでの複数の端末機器それぞれが、前記共有鍵を前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵で暗号化された暗号化共有鍵を、前記第一から第Ｎまでの複数の端末機器それぞれの前記端末機器固有鍵で復号して共有鍵を取得するようにしたことを特徴とするものである。
【発明の効果】
【００１５】
この発明によれば、通信機器が車両内に存在する全ての端末装置との鍵共有を行う際に、通信機器と鍵管理装置間でやり取りされる通信パケット数を削減し、当該鍵共有処理に要する処理時間を短縮することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】この発明の実施の形態１に係る鍵共有システムのシステム全体を示す概要図である。
【図２】この発明の実施の形態１に係る鍵管理装置１００の構成を示すブロック図である。
【図３】この発明の実施の形態１に係る鍵管理装置１００の記憶部１２１に記憶されるデータ構成を示す図である。
【図４】この発明の実施の形態１に係る第一機器管理装置８００の構成を示すブロック図である。
【図５】この発明の実施の形態１に係る第一機器管理装置８００の記憶部８２１に記憶されるデータ構成を示す図である。
【図６】この発明の実施の形態１に係るＧＷ４００の構成を示すブロック図である。
【図７】この発明の実施の形態１に係るＧＷ４００の記憶部４２１に記憶されるデータ構成を示す図である。
【図８】この発明の実施の形態１に係る構成情報４２１５の一例を示す図である。
【図９】この発明の実施の形態１に係る第二機器管理装置９００の構成図である。
【図１０】この発明の実施の形態１に係る第二機器管理装置９００の記憶部９２１に記憶されるデータ構成を示す図である。
【図１１】この発明の実施の形態１に係る第一車載機器５００の構成を示すブロック図である。
【図１２】この発明の実施の形態１に係る第一車載機器５００の記憶部５２１に記憶されるデータ構成を示す図である。
【図１３】この発明の実施の形態１に係る第二車載機器６００の構成を示すブロック図である。
【図１４】この発明の実施の形態１に係る第二車載機器６００の記憶部６２１に記憶されるデータ構成を示す図である。
【図１５】この発明の実施の形態１に係る第三車載機器７００の構成を示すブロック図である。
【図１６】この発明の実施の形態１に係る第三車載機器７００の記憶部７２１に記憶されるデータ構成を示す図である。
【図１７】この発明の実施の形態１に係る機器鍵設定処理のフローチャートである。
【図１８】この発明の実施の形態１に係る共有鍵共有処理のフローチャートである。
【図１９】この発明の実施の形態１に係るＧＷ４００が行う情報要求処理のフローチャートである。
【図２０】この発明の実施の形態１に係る第一車載機器５００が行う情報送信処理のフローチャートである。
【図２１】この発明の実施の形態１に係る第二車載機器６００が行う情報送信処理のフローチャートである。
【図２２】この発明の実施の形態１に係る第三車載機器７００が行う情報送信処理のフローチャートである。
【図２３】この発明の実施の形態１に係るＧＷ４００が行う鍵要求処理のフローチャートである。
【図２４】この発明の実施の形態１に係る鍵管理装置１００が行う鍵応答処理のフローチャートである。
【図２５】この発明の実施の形態１に係る鍵管理装置１００が行うレスポンス復号処理のフローチャートである。
【図２６】この発明の実施の形態１に係るＧＷ４００が行う復号処理のフローチャートである。
【図２７】この発明の実施の形態１に係る第一車載機器５００、第二車載機器６００および第三車載機器７００が行う復号処理のフローチャートである。
【図２８】この発明の実施の形態１に係る鍵管理装置１００が行う他の鍵応答処理のフローチャートである。
【図２９】この発明の実施の形態１に係る鍵管理装置１００が行う他の検証処理のフローチャートである。
【図３０】この発明の実施形態２にかかる鍵共有システムのシステム全体を示す概要図である。
【図３１】この発明の実施形態２にかかるＧＷ４００の記憶部４２１に記憶されるデータ構成を示す図である。
【図３２】この発明の実施形態２にかかるドメインＢ構成情報３１０２の一例を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、この発明を実施するための最良の形態について図面を用いて説明する。なお、各図中、同一符号は、同一または相当する部分を示すものとし、その説明は、適宜、省略または簡略化する。
実施形態１．
【００１８】
図１は、この発明の実施の形態１に係る鍵共有システムの全体の構成を示す概要図である。
図において、鍵共有システム１は、鍵管理装置１００を備えた事業者１０１と、認証する複数の車載機器が搭載された車両３００と、第一機器管理装置８００を備えた第一メーカ８０１と、第二機器管理装置９００を備えた第二メーカ９０１とから形成されており、これらの鍵管理装置１００、ＧＷ４００、第一機器管理装置８００および第二機器管理装置９００は、ネットワーク２００を介して互いに通信を行うように設定されている。
ここで、事業者１０１は、鍵管理装置１００を備えた親局となる設備を有し、この親局と通信する子局となる車両３００を製造するメーカでもある。また、図では、車両３００にＧＷ４００と、第一車載機器５００と、第二車載機器６００と、第三車載機器７００とを設けたものを示しているが、実際の車両３００には、数十から百数十のＮ個の複数の車載機器が搭載されており、必要に応じて第一から第Ｎまでの複数の端末機器と称する。また、子局となるＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００は、ケーブルを介して接続され、互いに通信を行う通信機器として設定されている。
【００１９】
なお、第一メーカ８０１は、車両３００に搭載される機器を製造するメーカであり、この実施の形態においては、第一メーカ８０１がＧＷ４００と、第二車載機器６００を製造しているものとする。また、第二メーカ９０１は、車両３００に搭載される機器を製造するメーカであり、この実施の形態においては、第一車載機器５００と、第三車載機器７００を製造しているものとする。
【００２０】
図２は、この発明の実施の形態１に係る鍵管理装置１００の構成を示すブロック図である。
図において、鍵管理装置１００は、プロセッサ１１０とメモリ１２０と補助記憶装置１３０と通信装置１４０といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
また、プロセッサ１１０は、データ処理を行う集積回路（Integrated  Circuit）であり、他のハードウェアを制御する。具体的には、プロセッサ１１０は、中央処理装置（Central  Processing  Unit）、デジタルシグナルプロセッサ（Digital  Signal  Processor）またはグラフィックスプロセッシングユニット（Graphics  Processing  Unit）である。
【００２１】
さらに、このプロセッサ１１０は、マスタ鍵生成部１１１、メーカ鍵生成部１１２、機器鍵生成部１１３、認証情報検証部１１４、共有鍵生成部１１５、暗号化共有鍵生成部１１６、鍵応答生成部１１７といった「部」を機能構成の要素として備えている。これらの「部」の機能は、ソフトウェアで実現される。
また、メモリ１２０は、揮発性の記憶装置（ＲＡＭ；Random  Access  Memory）であり、主記憶装置またはメインメモリとも呼ばれる。このメモリ１２０は、鍵管理装置１００で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部１２１として機能する。
【００２２】
さらに、補助記憶装置１３０は、不揮発性の記憶装置であり、具体的には、ＲＯＭ（Read  Only  Memory）、ＨＤＤ（Hard  Disk  Drive）またはフラッシュメモリである。この補助記憶装置１３０には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ１２０にロードされてプロセッサ１１０によって実行される。
また、補助記憶装置１３０には、オペレーティングシステム（Operating  System；以下、ＯＳと称す）が記憶されており、このＯＳの少なくとも一部がメモリ１２０にロードされて、プロセッサ１１０によって実行される。
すなわち、プロセッサ１１０は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。この「部」の機能を実現するプログラムを実行して得られるデータは、メモリ１２０、補助記憶装置１３０、プロセッサ１１０内のレジスタまたはプロセッサ１１０内のキャッシュメモリといった記憶装置に記憶される。
なお、プロセッサ１１０とメモリ１２０と補助記憶装置１３０とをまとめたハードウェアを「プロセッシングサーキットリ」という。
【００２３】
次に、通信装置１４０は、レシーバとトランスミッタとを備えており、具体的には、通信チップまたは通信ネットワークに接続するための拡張装置（ＮＩＣ；network  Interface  Card）などにより構成されている。
この通信装置１４０は、データを通信する通信部として機能する。すなわち、通信装置１４０のレシーバは、データを受信する受信部１４１として機能し、トランスミッタは、データを送信する送信部１４２として機能する。
なお、鍵管理装置１００は、プロセッサ１１０を代替する複数のプロセッサを備えてもよく、複数のプロセッサには、「部」の機能を実現するプログラムの実行を分担させることができる。また、「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の一時的でない有形の媒体である不揮発性の記憶媒体に読み取り可能に記憶させることができる。さらに、受信部１４１、送信部１４２といった「部」は、「処理」または「工程」に読み替えてもよく、これらの「部」の機能は、ファームウェアで実現してもよい。
【００２４】
図３は、記憶部１２１に記憶されるデータ構成を示すもので、記憶部１２１には、マスタ鍵１２１１と、第一メーカ識別情報１２１２と、第二メーカ識別情報１２１３とが記憶され、これらのデータは、外部に漏れないよう、安全に管理される。
なお、この記憶部１２１に記憶されるデータの内容については、後述する。また、記憶部１２１に記憶されるデータは、図３に示すデータに限られない。
さらに、マスタ鍵１２１１、第一メーカ識別情報１２１２および第二メーカ識別情報１２１３は、後述する鍵生成時に補助記憶装置１３０に記憶され、その後、鍵管理装置１００が起動される際に補助記憶装置１３０から読み出されて記憶部１２１に書き込まれる。
【００２５】
図４は、第一機器管理装置８００の構成を示すブロック図である。
図において、第一機器管理装置８００は、プロセッサ８１０とメモリ８２０と補助記憶装置８３０と通信装置８４０などのハードウェアを備えるコンピュータであり、これらのハードウェアは、信号線を介して互いに接続されている。
また、プロセッサ８１０、メモリ８２０、補助記憶装置８３０および通信装置８４０は、図２において説明したプロセッサ１１０、メモリ１２０、補助記憶装置１３０および通信装置１４０に相当するハードウェアである。
さらに、この第一機器管理装置８００は、機器鍵生成部８１１といった「部」を機能構成の要素として備えている。この「部」の機能は、後述するソフトウェアによって実現される。
【００２６】
なお、図４の説明において、「部」は、第一機器管理装置８００に備わる機能構成の要素を意味している。
また、補助記憶装置８３０には、「部」の機能を実現するプログラムが記憶されており、「部」の機能を実現するプログラムは、メモリ８２０にロードされてプロセッサ８１０によって実行される。また、補助記憶装置８３０にはＯＳが記憶されており、その少なくとも一部がメモリ８２０にロードされてプロセッサ８１０によって実行される。
すなわち、プロセッサ８１０は、ＯＳを実行しながら「部」の機能を実現するプログラムを実行することになる。
【００２７】
この「部」の機能を実現するプログラムを実行して得られるデータは、メモリ８２０、補助記憶装置８３０、プロセッサ８１０内のレジスタまたはプロセッサ８１０内のキャッシュメモリといった記憶装置に記憶される。ここで、メモリ８２０は、第一機器管理装置８００で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部８２１として機能する。但し、他の記憶装置を記憶部８２１として機能させてもよい。
【００２８】
さらに、通信装置８４０は、データを通信する通信部として機能し、データを受信する受信部（レシーバ）８４１と、データを送信する送信部（トランスミッタ）８４２とを備えている。
なお、この第一機器管理装置８００は、プロセッサ８１０を代替する複数のプロセッサを備えてもよく、複数のプロセッサに「部」の機能を実現するプログラムの実行を分担させてもよい。また、「部」の機能を実現するプログラムは、不揮発性の記憶媒体に読み取り可能に記憶させることができる。さらに、「部」は、「処理」または「工程」に読み替えてもよく、「部」の機能は、ファームウェアで実現してもよい。
【００２９】
図５は、第一機器管理装置８００における記憶部８２１に記憶されるデータ構成を示すもので、記憶部８２１には、第一メーカ鍵８２１１と、第一メーカ識別情報８２１２と、ＧＷ識別情報８２１３と、第二車載機器識別情報８２１４とが記憶され、これらのデータは、外部に漏れないよう安全に管理される。
また、これらの第一メーカ鍵８２１１、第一メーカ識別情報８２１２、ＧＷ識別情報８２１３および第二車載機器識別情報８２１４は、後述する受信時または生成時に補助記憶装置８３０に記憶され、第一機器管理装置８００が起動される際に補助記憶装置８３０から読み出されて記憶部８２１に書き込まれる。
なお、この記憶部８２１に記憶されるデータの内容については後述する。また、記憶部８２１に記憶されるデータは、図５に示すデータ構成に限られるものでない。
【００３０】
図６は、実施の形態１に係るＧＷ４００の構成を示すブロック図である。
図において、ＧＷ４００は、プロセッサ４１０と、メモリ４２０と、補助記憶装置４３０と、通信装置４４０といったハードウェアを備えたコンピュータで、これらのハードウェアは、信号線を介して互いに接続されている。
また、プロセッサ４１０、メモリ４２０、補助記憶装置４３０および通信装置４４０は、図２で説明したプロセッサ１１０、メモリ１２０、補助記憶装置１３０および通信装置１４０に相当するハードウェアである。
【００３１】
なお、ＧＷ４００は、情報要求部４１１、共有鍵要求部４１２、共有鍵復号部４１３、共有鍵配布部４１４といった「部」を機能構成の要素として備えており、「部」の機能は、後述するソフトウェアで実現される。
また、図６の説明において、「部」は、ＧＷ４００に備わる機能構成の要素を意味し、補助記憶装置４３０には、「部」の機能を実現するプログラムが記憶されている。これらの「部」の機能を実現するプログラムは、メモリ４２０にロードされて、プロセッサ４１０によって実行される。
【００３２】
さらに、補助記憶装置４３０にはＯＳが記憶されており、その少なくとも一部がメモリ４２０にロードされてプロセッサ４１０によって実行される。
すなわち、プロセッサ４１０は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行することになる。
ここで、「部」の機能を実現するプログラムを実行して得られるデータは、メモリ４２０、補助記憶装置４３０、プロセッサ４１０内のレジスタまたはプロセッサ４１０内のキャッシュメモリといった記憶装置に記憶される。また、メモリ４２０は、ＧＷ４００で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部４２１として機能する。但し、他の記憶装置が記憶部４２１として機能するように構成してもよい。
【００３３】
さらに、通信装置４４０は、データを通信する通信部として機能し、データを受信する受信部（レシーバ）４４１と、データを送信する送信部（トランスミッタ）４４２とを備えている。
なお、ＧＷ４００は、プロセッサ４１０を代替する複数のプロセッサを備えてもよく、複数のプロセッサに「部」の機能を実現するプログラムの実行を分担させてもよい。また、「部」の機能を実現するプログラムは、不揮発性の記憶媒体に読み取り可能に記憶させることができる。さらに、「部」は、「処理」または「工程」に読み替えてもよく、「部」の機能は、ファームウェアで実現してもよい。
【００３４】
図７は、実施の形態１に係るＧＷ４００の記憶部４２１に記憶されるデータ構成を示すもので、記憶部４２１には、第一メーカ識別情報４２１１と、ＧＷ識別情報４２１２と、ＧＷ鍵４２１３と、共有鍵４２１４と、構成情報４２１５とが記憶され、これらのデータは、外部に漏れないよう安全に管理される。
なお、記憶部４２１に記憶されるデータの内容については後述する。また、記憶部４２１に記憶されるデータは、図７に示すデータ構成に限られるものでない。
さらに、これらの第一メーカ識別情報４２１１、ＧＷ識別情報４２１２、ＧＷ鍵４２１３および共有鍵４２１４は、後述する受信時または復号時に補助記憶装置４３０に記憶され、ＧＷ４００が起動される際に補助記憶装置４３０から読み出されて記憶部４２１に書き込まれる。
【００３５】
ここで、構成情報４２１５は、車両３００内でＧＷ４００とケーブルとを介して接続されている車載機器のネットワークアドレス情報のリストで、例えば、図８に示すように、第一車載機器ネットワークアドレス４２１５１と、第二車載機器ネットワークアドレス４２１５２と、第三車載機器ネットワークアドレス４２１５３およびＧＷネットワークアドレス４２１５４とが設定されている。
この第一車載機器ネットワークアドレス４２１５１は、第一車載機器５００のネットワークアドレスの値、第二車載機器ネットワークアドレス４２１５２は、第二車載機器６００のネットワークアドレスの値、第三車載機器ネットワークアドレス４２１５３は、第三車載機器７００のネットワークアドレスの値、ＧＷネットワークアドレス４２１５４は、構成情報４２１５の最後に設定されるＧＷ４００のネットワークアドレスの値である。
【００３６】
なお、上述のネットワークアドレスとは、車両３００内で機器同士が通信を行う際にお互いを一意に識別するためのアドレスで、具体的には、ＣＡＮ（Controller  Area  Network）プロトコルにおけるＣＡＮ  ＩＤである。あるいは、車両３００内で使用される通信プロトコルに応じた値で、例えば、ＩＰ（Internet  Protocol）アドレスなどであってもよい。
また、構成情報４２１５は、後述する鍵共有処理が実行される前に、例えば事業者１０１によって作成され、ＧＷ４００の記憶部４２１に書き込まれる。あるいは、後述する鍵共有処理が実行される前に、ＧＷ４００が第一車載機器５００、第二車載機器６００、第三車載機器７００に問い合わせを行うことによって、当該問い合わせのリストを自動的に作成し、記憶部４２１に書き込んでもよい。
【００３７】
図９は、実施の形態１に係る第二機器管理装置９００の構成図である。
図において、第二機器管理装置９００は、プロセッサ９１０と、メモリ９２０と、補助記憶装置９３０と、通信装置９４０といったハードウェアを備えるコンピュータで、これらのハードウェアは、信号線を介して互いに接続されている。また、プロセッサ９１０、メモリ９２０、補助記憶装置９３０および通信装置９４０は、図２で説明したプロセッサ１１０、メモリ１２０、補助記憶装置１３０および通信装置１４０に相当するハードウェアである。
【００３８】
なお、第二機器管理装置９００は、機器鍵生成部９１１といった「部」を機能構成の要素として備えており、「部」の機能は、後述するソフトウェアで実現される。また、図９の説明において、「部」は、第二機器管理装置９００に備わる機能構成の要素を意味し、補助記憶装置９３０には、「部」の機能を実現するプログラムが記憶されている。この「部」の機能を実現するプログラムは、メモリ９２０にロードされてプロセッサ９１０によって実行される。
【００３９】
さらに、補助記憶装置９３０にはＯＳが記憶されおり、その少なくとも一部がメモリ９２０にロードされて、プロセッサ９１０によって実行される。
すなわち、プロセッサ９１０は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行することになる。
ここで、「部」の機能を実現するプログラムを実行して得られるデータは、メモリ９２０、補助記憶装置９３０、プロセッサ９１０内のレジスタまたはプロセッサ９１０内のキャッシュメモリといった記憶装置に記憶される。また、メモリ９２０は、第二機器管理装置９００で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部９２１として機能する。但し、他の記憶装置が記憶部９２１として機能するように構成してもよい。
【００４０】
さらに、通信装置９４０は、データを通信する通信部として機能し、データを受信する受信部（レシーバ）９４１と、データを送信する送信部（トランスミッタ）９４２とを備えている。
なお、第二機器管理装置９００は、プロセッサ９１０を代替する複数のプロセッサを備えてもよく、複数のプロセッサに「部」の機能を実現するプログラムの実行を分担させてもよい。また、「部」の機能を実現するプログラムは、不揮発性の記憶媒体に読み取り可能に記憶させることができる。さらに、「部」は、「処理」または「工程」に読み替えてもよく、「部」の機能は、ファームウェアで実現してもよい。
【００４１】
図１０は、実施の形態１に係る第二機器管理装置９００の記憶部９２１に記憶されるデータ構成を示すもので、記憶部９２１には、第二メーカ鍵９２１１と、第二メーカ識別情報９２１２と、第一車載機器識別情報９２１３と、第三車載機器識別情報９２１４とが記憶され、これらのデータは、外部に漏れないよう安全に管理される。
なお、記憶部９２１に記憶されるデータの内容については後述する。また、記憶部９２１に記憶されるデータは、図１０に示すデータ構成に限られるものでない。
これらの第二メーカ鍵９２１１、第二メーカ識別情報９２１２、第一車載機器識別情報９２１３および第三車載機器識別情報９２１４は、後述する受信時または生成時に補助記憶装置９３０に記憶され、その後、第二機器管理装置９００が起動される際に補助記憶装置９３０から読み出されて記憶部９２１に書き込まれる。
【００４２】
図１１は、実施の形態１に係る第一車載機器５００の構成を示すブロック図である。
図において、第一車載機器５００は、プロセッサ５１０と、メモリ５２０と、補助記憶装置５３０と、通信装置５４０といったハードウェアを備えるコンピュータで、これらのハードウェアは、信号線を介して互いに接続されている。また、プロセッサ５１０、メモリ５２０、補助記憶装置５３０および通信装置５４０は、図２で説明したプロセッサ１１０、メモリ１２０、補助記憶装置１３０および通信装置１４０に相当するハードウェアである。
【００４３】
なお、第一車載機器５００は、情報応答部５１１と、共有鍵復号部５１２といった「部」を機能構成の要素として備えており、「部」の機能は、後述するソフトウェアで実現される。また、図１１の説明において、「部」は、第一車載機器５００に備わる機能構成の要素を意味し、補助記憶装置５３０には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ５２０にロードされて、プロセッサ５１０によって実行される。
さらに、補助記憶装置５３０にはＯＳが記憶されており、その少なくとも一部がメモリ５２０にロードされて、プロセッサ５１０によって実行される。
すなわち、プロセッサ５１０は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行することになる。
【００４４】
ここで、「部」の機能を実現するプログラムを実行して得られるデータは、メモリ５２０、補助記憶装置５３０、プロセッサ５１０内のレジスタまたはプロセッサ５１０内のキャッシュメモリといった記憶装置に記憶される。また、メモリ５２０は、第一車載機器５００で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部５２１として機能する。但し、他の記憶装置が記憶部５２１として機能するように構成してもよい。
【００４５】
さらに、通信装置５４０は、データを通信する通信部として機能し、データを受信する受信部（レシーバ）５４１と、データを送信する送信部（トランスミッタ）５４２とを備えている。
なお、第一車載機器５００は、プロセッサ５１０を代替する複数のプロセッサを備えてもよく、複数のプロセッサに「部」の機能を実現するプログラムの実行を分担させてもよい。また、「部」の機能を実現するプログラムは、不揮発性の記憶媒体にコンピュータ読み取り可能に記憶させることができる。さらに、「部」は「処理」または「工程」に読み替えてもよく、「部」の機能は、ファームウェアで実現してもよい。
【００４６】
図１２は、実施の形態１に係る第一車載機器５００の記憶部５２１に記憶されるデータ構成を示すもので、記憶部５２１には、第二メーカ識別情報５２１１と、第一車載機器識別情報５２１２と、第一車載機器鍵５２１３と、共有鍵５２１４とが記憶され、これらのデータは、外部に漏れないよう、安全に管理される。
【００４７】
なお、記憶部５２１に記憶されるデータの内容については後述する。また、記憶部５２１に記憶されるデータは、図１２に示すデータに限られるものでない。
これらの第二メーカ識別情報５２１１、第一車載機器識別情報５２１２、第一車載機器鍵５２１３および共有鍵５２１４は、後述する受信時または復号時に補助記憶装置５３０に記憶され、その後、第一車載機器５００が起動される際に補助記憶装置５３０から読み出されて記憶部５２１に書き込まれる。
【００４８】
図１３は、実施の形態１に係る第二車載機器６００の構成を示すブロック図である。
図において、第二車載機器６００は、プロセッサ６１０と、メモリ６２０と、補助記憶装置６３０と、通信装置６４０といったハードウェアを備えるコンピュータで、これらのハードウェアは、信号線を介して互いに接続されている。
また、プロセッサ６１０、メモリ６２０、補助記憶装置６３０および通信装置６４０は、図２で説明したプロセッサ１１０、メモリ１２０、補助記憶装置１３０および通信装置１４０に相当するハードウェアである。
【００４９】
なお、第二車載機器６００は、情報応答部６１１と、共有鍵復号部６１２といった「部」を機能構成の要素として備えており、「部」の機能は、後述するソフトウェアで実現される。また、図１３の説明において、「部」は、第二車載機器６００に備わる機能構成の要素を意味し、補助記憶装置６３０には、「部」の機能を実現するプログラムが記憶されている。この「部」の機能を実現するプログラムは、メモリ６２０にロードされて、プロセッサ６１０によって実行される。
【００５０】
さらに、補助記憶装置６３０にはＯＳが記憶されており、その少なくとも一部がメモリ６２０にロードされて、プロセッサ６１０によって実行される。
すなわち、プロセッサ６１０は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行することになる。
ここで、「部」の機能を実現するプログラムを実行して得られるデータは、メモリ６２０、補助記憶装置６３０、プロセッサ６１０内のレジスタまたはプロセッサ６１０内のキャッシュメモリといった記憶装置に記憶される。
【００５１】
また、メモリ６２０は、第二車載機器６００で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部６２１として機能するように構成してもよい。但し、他の記憶装置が記憶部６２１として機能するように構成してもよい。
【００５２】
さらに、通信装置６４０は、データを通信する通信部として機能し、データを受信する受信部（レシーバ）６４１と、データを送信する送信部（トランスミッタ）６４２とを備えている。
なお、第二車載機器６００は、プロセッサ６１０を代替する複数のプロセッサを備えてもよく、複数のプロセッサに「部」の機能を実現するプログラムの実行を分担させてもよい。また、「部」の機能を実現するプログラムは、不揮発性の記憶媒体にコンピュータ読み取り可能に記憶させることができる。さらに、「部」は、「処理」または「工程」に読み替えてもよく、「部」の機能は、ファームウェアで実現してもよい。
【００５３】
図１４は、実施の形態１に係る第二車載機器６００の記憶部６２１に記憶されるデータ構成を示すもので、記憶部６２１には、第一メーカ識別情報６２１１と、第二車載機器識別情報６２１２と、第二車載機器鍵６２１３と、共有鍵６２１４とが記憶され、これらのデータは、外部に漏れないよう、安全に管理される。
なお、記憶部６２１に記憶されるデータの内容については後述する。また、記憶部６２１に記憶されるデータは、図１４に示すデータ構成に限られるものでない。
これらの第一メーカ識別情報６２１１、第二車載機器識別情報６２１２、第二車載機器鍵６２１３および共有鍵６２１４は、後述する受信時または復号時に補助記憶装置６３０に記憶され、その後、第二車載機器６００が起動される際に補助記憶装置６３０から読み出されて記憶部６２１に書き込まれる。
ここで、第二車載機器６００は、ＧＷ４００と同じ第一メーカ８０１により製造されているものとしているため、記憶部６２１に記憶される第一メーカ識別情報６２１１の値は、ＧＷ４００の記憶部４２１に記憶される第一メーカ識別情報４２１１の値と同じである。
【００５４】
図１５は、実施の形態１に係る第三車載機器７００の構成を示すブロック図である。
図において、第三車載機器７００は、プロセッサ７１０と、メモリ７２０と、補助記憶装置７３０と、通信装置７４０といったハードウェアを備えるコンピュータで、これらのハードウェアは、信号線を介して互いに接続されている。また、プロセッサ７１０、メモリ７２０、補助記憶装置７３０および通信装置７４０は、図２で説明したプロセッサ１１０、メモリ１２０、補助記憶装置１３０および通信装置１４０に相当するハードウェアである。
【００５５】
なお、第三車載機器７００は、情報応答部７１１と、共有鍵復号部７１２といった「部」を機能構成の要素として備えおり、この「部」の機能は、後述するソフトウェアで実現される。また、図１５の説明において、「部」は、第三車載機器７００に備わる機能構成の要素を意味し、補助記憶装置７３０には、「部」の機能を実現するプログラムが記憶されている。この「部」の機能を実現するプログラムには、メモリ７２０にロードされて、プロセッサ７１０によって実行される。
【００５６】
さらに、補助記憶装置７３０にはＯＳが記憶されており、その少なくとも一部がメモリ７２０にロードされて、プロセッサ７１０によって実行される。
すなわち、プロセッサ７１０は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行することになる。
ここで、「部」の機能を実現するプログラムを実行して得られるデータは、メモリ７２０、補助記憶装置７３０、プロセッサ７１０内のレジスタまたはプロセッサ７１０内のキャッシュメモリといった記憶装置に記憶される。
また、メモリ７２０は、第三車載機器７００で使用、生成、入力、出力、送信または受信されるデータが記憶される記憶部７２１として機能する。但し、他の記憶装置が記憶部７２１として機能するように構成してもよい。
【００５７】
さらに、通信装置７４０は、データを通信する通信部として機能し、データを受信する受信部（レシーバ）７４１と、データを送信する送信部（トランスミッタ）７４２とを備えている。
なお、第三車載機器７００は、プロセッサ７１０を代替する複数のプロセッサを備えてもよく、複数のプロセッサに「部」の機能を実現するプログラムの実行を分担させてもよい。また、「部」の機能を実現するプログラムは、不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。さらに、「部」は、「処理」または「工程」に読み替えてもよく、「部」の機能は、ファームウェアで実現してもよい。
【００５８】
図１６は、実施の形態１に係る第三車載機器７００の記憶部７２１に記憶されるデータ構成を示すもので、記憶部７２１には、第二メーカ識別情報７２１１と、第三車載機器識別情報７２１２と、第三車載機器鍵７２１３と、共有鍵７２１４とが記憶され、これらのデータは、外部に漏れないよう、安全に管理される。
なお、記憶部７２１に記憶されるデータの内容については後述する。また、記憶部７２１に記憶されるデータは、図１６に示すデータに限られるものでない。
これらの第二メーカ識別情報７２１１、第三車載機器識別情報７２１２、第三車載機器鍵７２１３および共有鍵７２１４は、後述する受信時または復号時に補助記憶装置７３０に記憶され、その後、第三車載機器７００が起動される際に補助記憶装置７３０から読み出されて記憶部７２１に書き込まれる。
ここで、第三車載機器７００は、第一車載機器５００と同じ第二メーカ９０１が製造しているものとしているため、記憶部７２１に記憶される第二メーカ識別情報７２１１の値は、第一車載機器５００の記憶部５２１に記憶される第二メーカ識別情報５２１１の値と同じである。
【００５９】
次に、以上のような鍵共有システムの動作について図１７〜図２９を用いて説明する。
なお、この実施の形態に係る鍵共有システムの動作は、鍵共有方法に相当し、鍵共有方法の手順は、鍵共有プログラムの手順に相当する。また、鍵管理装置１００の手順は、鍵管理プログラムの手順に相当し、第一機器管理装置８００および第二機器管理装置９００の動作の手順は、機器管理プログラムの手順に相当する。さらに、ＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００の動作の手順は、機器プログラムの手順に相当する。
【００６０】
図１７は、この実施の形態１に係る機器鍵設定処理のフローチャートを示すもので、ＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００のそれぞれに固有の機器鍵を設定するためのフローチャートである。
まず、図１７に示すステップＳ１７０１において、鍵管理装置１００が車両３００から鍵要求を受けると、マスタ鍵生成部１１１は、マスタ鍵１２１１を生成する。このマスタ鍵１２１１は、第一メーカ鍵１２２１および第二メーカ鍵１２２２を生成するために用いられる鍵である。
具体的には、マスタ鍵生成部１１１は、乱数を生成し、生成された乱数を入力として鍵生成関数を実行する。この鍵生成関数は、鍵を生成するための関数で、生成された鍵がマスタ鍵１２１１である。
【００６１】
次に、ステップＳ１７０２において、メーカ鍵生成部１１２は、マスタ鍵１２１１と第一メーカ８０１を識別する情報である第一メーカ識別情報１２１２とを用いて第一メーカ８０１用の個別鍵である第一メーカ鍵１２２１（図３参照）を生成する。
具体的には、まず、メーカ鍵生成部１１２がランダムに文字列を生成し、第一メーカ識別情報１２１２を生成する。なお、メーカ鍵生成部１１２は、複数のメーカ識別情報を含んだリストからいずれかのメーカ識別情報を第一メーカ識別情報１２１２として選択してもよい。また、メーカ鍵生成部１１２は、第一メーカ識別情報１２１２を他の方法で生成してもよい。
【００６２】
なお、共通鍵を生成するためのアルゴリズムとして、イメージ認証符号の一つであるＨＭＡＣ（Hash-based  ＭＡＣ（Message  Authentication  Code））が挙げられる。また、第一メーカ鍵１２２１の生成に併せて、メーカ鍵生成部１１２は、マスタ鍵１２１１と第二メーカ９０１を識別する情報である第二メーカ識別情報１２１３とを用いて第二メーカ９０１用の個別鍵である第二メーカ鍵１２２２を生成する。この第二メーカ識別情報１２１３および第二メーカ鍵１２２２を生成する方法は、上述した第一メーカ識別情報１２１２および第一メーカ鍵１２２１を生成する方法と同じである。
【００６３】
次に、ステップＳ１７０３において、送信部１４２は、第一メーカ鍵１２２１および第一メーカ識別情報１２１２を第一機器管理装置８００に送信するとともに、第二メーカ鍵１２２２および第二メーカ識別情報１２１３を第二機器管理装置９００に送信する。
ここで、第一メーカ鍵１２２１、第一メーカ識別情報１２１２、第二メーカ鍵１２２２および第二メーカ識別情報１２１３は、安全に送信されるものとする。具体的には、これらは、データを暗号化して送受信する方法の一つであるＴＬＳ（Transport  Layer  Security）を用いて送信される。また、オフラインにより安全に配布されてもよい。
【００６４】
次に、ステップＳ１７０４において、第一機器管理装置８００の受信部８４１は、第一メーカ鍵１２２１および第一メーカ識別情報１２１２を受信し、これらの情報を図５に示すように記憶部８２１に記憶する。なお、ここで記憶部８２１に記憶された第一メーカ鍵１２２１および第一メーカ識別情報１２１２を第一メーカ鍵８２１１および第一メーカ識別情報８２１２という。
また、第二機器管理装置９００の受信部９４１は、第二メーカ鍵１２２２および第二メーカ識別情報１２１３を受信し、これらの情報を記憶部９２１に記憶する。なお、ここで記憶部９２１に記憶された第二メーカ鍵１２２２および第二メーカ識別情報１２１３を第二メーカ鍵９２１１および第二メーカ識別情報９２１２という。
【００６５】
次に、ステップＳ１７０５において、第一機器管理装置８００の機器鍵生成部８１１は、第一メーカ鍵８２１１とＧＷ４００を識別する情報であるＧＷ識別情報８２１３とを用い、ＧＷ４００用の機器鍵であるＧＷ鍵８２２１（図５参照）を生成する。同様に、第一メーカ鍵８２１１と第二車載機器６００を識別する情報である第二車載機器識別情報８２１４とを用いて、第二車載機器６００用の機器鍵である第二車載機器鍵８２２２を生成する。
なお、機器鍵は、認証鍵または機器認証鍵ともいう。
具体的には、機器鍵生成部８１１は、ＧＷ鍵８２２１および第二車載機器鍵８２２２を以下のように生成する。
【００６６】
まず、機器鍵生成部８１１は、ランダムに文字列を生成し、生成された文字列がＧＷ識別情報８２１３および第二車載機器識別情報８２１４である。なお、機器鍵生成部８１１は、複数の機器識別情報を含んだリストから、いずれかの機器識別情報をＧＷ識別情報８２１３および第二車載機器識別情報８２１４として選択してもよい。また、機器鍵生成部８１１は、ＧＷ識別情報８２１３および第二車載機器識別情報８２１４を他の方法で生成してもよい。
次いで、機器鍵生成部８１１は、第一メーカ鍵８２１１とＧＷ識別情報８２１３とを入力として、鍵生成関数を実行する。生成される鍵がＧＷ鍵８２２１である。さらに、機器鍵生成部８１１は、第一メーカ鍵８２１１と第二車載機器識別情報８２１４とを入力として、鍵生成関数を実行する。生成される鍵が第二車載機器鍵８２２２である。
【００６７】
また、第二機器管理装置９００の機器鍵生成部９１１は、第二メーカ鍵９２１１と第一車載機器５００を識別する情報である第一車載機器識別情報９２１３とを用いて、第一車載機器鍵９２２１（図１０参照）を生成する。同様に、第二メーカ鍵９２１１と第三車載機器７００を識別する情報である第三車載機器識別情報９２１４とを用いて、第三車載機器鍵９２２２を生成する。
ここで、第一車載機器鍵９２２１は、第一車載機器５００用の機器鍵である。また、第三車載機器鍵９２２２は、第三車載機器７００用の機器鍵である。
なお、第一車載機器識別情報９２１３および第一車載機器鍵９２２１と、第三車載機器識別情報９２１４および第三車載機器鍵９２２２を生成する方法は、ＧＷ識別情報８２１３およびＧＷ鍵８２２１を生成する方法と同じである。
【００６８】
次に、ステップＳ１７０６において、第一機器管理装置８００の送信部８４２は、第一メーカ識別情報８２１２、ＧＷ識別情報８２１３およびＧＷ鍵８２２１をＧＷ４００に送信する。同様に、第一メーカ識別情報８２１２、第二車載機器識別情報８２１４および第二車載機器鍵８２２２を第二車載機器６００に送信する。
また、第二機器管理装置９００の送信部９４２は、第二メーカ識別情報９２１２、第一車載機器識別情報９２１３および第一車載機器鍵９２２１を第一車載機器５００に送信する。同様に、第二メーカ識別情報９２１２、第三車載機器識別情報９２１４および第三車載機器鍵９２２２を第三車載機器７００に送信する。
【００６９】
次に、ステップＳ１７０７において、ＧＷ４００は、受信部４４１により第一メーカ識別情報８２１２、ＧＷ識別情報８２１３およびＧＷ鍵８２２１を受信し、この第一メーカ識別情報８２１２、ＧＷ識別情報８２１３およびＧＷ鍵８２２１を記憶部４２１に記憶する。ここで、記憶部４２１に記憶された第一メーカ識別情報８２１２、ＧＷ識別情報８２１３およびＧＷ鍵８２２１を、第一メーカ識別情報４２１１、ＧＷ識別情報４２１２およびＧＷ鍵４２１３という。
【００７０】
また、第一車載機器５００は、受信部５４１により第二メーカ識別情報９２１２、第一車載機器識別情報９２１３および第一車載機器鍵９２２１を受信し、この第二メーカ識別情報９２１２、第一車載機器識別情報９２１３および第一車載機器鍵９２２１を記憶部５２１に記憶する。ここで、記憶部５２１に記憶された第二メーカ識別情報９２１２、第一車載機器識別情報９２１３および第一車載機器鍵９２２１を、第二メーカ識別情報５２１１、第一車載機器識別情報５２１２および第一車載機器鍵５２１３という。
【００７１】
さらに、第二車載機器６００は、受信部６４１により第一メーカ識別情報８２１２、第二車載機器識別情報８２１４および第二車載機器鍵８２２２を受信し、この第一メーカ識別情報８２１２、第二車載機器識別情報８２１４および第二車載機器鍵８２２２を記憶部６２１に記憶する。ここで、記憶部６２１に記憶された第一メーカ識別情報８２１２、第二車載機器識別情報８２１４および第二車載機器鍵８２２２を、第一メーカ識別情報６２１１、第二車載機器識別情報６２１２および第二車載機器鍵６２１３という。
また、第三車載機器７００は、受信部７４１により第二メーカ識別情報９２１２、第三車載機器識別情報９２１４および第三車載機器鍵９２２２を受信し、受信された第二メーカ識別情報９２１２、第三車載機器識別情報９２１４および第三車載機器鍵９２２２を記憶部７２１に記憶する。ここで、記憶部７２１に記憶された第二メーカ識別情報９２１２、第三車載機器識別情報９２１４および第三車載機器鍵９２２２を、第二メーカ識別情報７２１１、第三車載機器識別情報７２１２および第三車載機器鍵７２１３という。
【００７２】
以上のように、図１７に示すフローチャートを実施することによって、ＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００には、それぞれ固有の機器鍵が設定されることになる。
この図１７におけるステップＳ１７０１からステップＳ１７０４の処理は、第一メーカ８０１および第二メーカ９０１の工場において、ＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００の製造が開始されるよりも前の段階で１度実施される。また、ステップＳ１７０５からステップＳ１７０７の処理は、事業者１０１によって車両３００が製造されるよりも前の段階で、例えば第一メーカ８０１の工場においてＧＷ４００や第二車載機器６００を製造する段階で実施される。したがって、事業者１０１は、第一メーカ８０１および第二メーカ９０１から、固有の機器鍵が設定されたＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００を購入し、事業者１０１の工場で車両３００を製造することになる。
【００７３】
次に、図１８を用いて、ＧＷ４００が第一車載機器５００、第二車載機器６００および第三車載機器７００と鍵を共有するための動作について説明する。
まず、ステップＳ１８０１において、ＧＷ４００は、第一車載機器５００に情報を要求する。
すなわち、図１９に示すようにステップＳ１９０１において、ＧＷ４００の情報要求部４１１は、チャレンジレスポンス認証においてチャレンジと呼ばれるデータであるチャレンジデータ１９００を生成する。具体的には、情報要求部４１１は、乱数を生成し、この生成された乱数がチャレンジデータ１９００となる。
【００７４】
次に、ステップＳ１９０２において、情報要求部４１１は、チャレンジデータ１９００および構成情報４２１５を含んだ情報要求１９１０を生成する。
次に、ステップＳ１９０３において、送信部４４２は、構成情報４２１５を参照し、先頭に設定されている第一車載機器ネットワークアドレス４２１５１を送信先として、情報要求１９１０を送信する。
【００７５】
次に、図１８に示すステップＳ１８０２において、第一車載機器５００は、第二車載機器６００へ情報を送信する。
すなわち、図２０に示すように、ステップＳ２００１において、第一車載機器５００は、ステップＳ１９０３でＧＷ４００が送信した情報要求１９１０を受信部５４１により受信し、ステップＳ２００２において、情報応答部５１１によりチャレンジデータ１９００と第一車載機器鍵５２１３とを用いてチャレンジレスポンス認証においてレスポンスと呼ばれるデータであるレスポンスデータ２０００を生成する。具体的には、情報応答部５１１は、レスポンスデータ２０００を以下のように生成する。
【００７６】
まず、情報応答部５１１は、受信した情報要求１９１０からチャレンジデータ１９００を取得し、チャレンジデータ１９００、第一車載機器鍵５２１３を用いてレスポンスデータ２０００を生成する。ここで、暗号アルゴリズムを用いて、チャレンジデータ１９００を第一車載機器鍵５２１３で暗号化した結果の値をレスポンスデータ２０００とする。使用する暗号アルゴリズムとして、データ暗号化方式の一つであるＡＥＳ（Advanced  Encryption  Standard）などが挙げられる。
【００７７】
次に、ステップＳ２００３において、情報応答部５１１は、チャレンジデータ１９００、レスポンスデータ２０００、第二メーカ識別情報５２１１、第一車載機器識別情報５２１２および構成情報４２１５を含んだ情報応答２０１０を生成する。
その後、ステップＳ２００４において、送信部５４２は、構成情報４２１５を参照し、第一車載機器５００のネットワークアドレスである第一車載機器ネットワークアドレス４２１５１の次に設定されている第二車載機器ネットワークアドレス４２１５２を送信先として、情報応答２０１０を送信する。
【００７８】
次に、図１８に示すステップＳ１８０３において、第二車載機器６００は、第三車載機器７００へ情報を送信する。
すなわち、図２１に示すように、ステップＳ２１０１において、第二車載機器６００は、ステップＳ２００４で第一車載機器５００が送信した情報応答２０１０を受信部６４１により受信し、ステップＳ２１０２において、情報応答部６１１によりレスポンスデータ２０００と第二車載機器鍵６２１３とを用いてレスポンスデータ２１００を生成する。具体的には、情報応答部６１１は、レスポンスデータ２１００を以下のように生成する。
【００７９】
まず、情報応答部６１１は、受信した情報応答２０１０からレスポンスデータ２０００を取得し、レスポンスデータ２０００、第二車載機器鍵６２１３を用いてレスポンスデータ２１００を生成する。ここで、暗号アルゴリズムを用いて、レスポンスデータ２０００を第二車載機器鍵６２１３で暗号化した結果の値をレスポンスデータ２１００とする。使用する暗号アルゴリズムは、ステップＳ２００２において第一車載機器５００が使用したものと同じである。
【００８０】
次に、ステップＳ２１０３において、情報応答部６１１は、チャレンジデータ１９００、レスポンスデータ２１００、第一メーカ識別情報６２１１、第二車載機器識別情報６２１２、第二メーカ識別情報５２１１、第一車載機器識別情報５２１２および構成情報４２１５を含んだ情報応答２１１０を生成する。
その後、ステップＳ２１０４において、送信部６４２は、構成情報４２１５を参照し、第二車載機器６００のネットワークアドレスである第二車載機器ネットワークアドレス４２１５２の次に設定されている第三車載機器ネットワークアドレス４２１５３を送信先として、情報応答２１１０を送信する。
【００８１】
次に、図１８のステップＳ１８０４において、第三車載機器７００は、ＧＷ４００へ情報を送信する。
すなわち、図２２に示すように、ステップＳ２２０１において、第三車載機器７００は、ステップＳ２１０４において第二車載機器６００が送信した情報応答２１１０を受信部７４１により受信し、ステップＳ２２０２において、レスポンスデータ２１００と第三車載機器鍵７２１３とを用いて、情報応答部７１１によりレスポンスデータ２２００を生成する。具体的には、第三車載機器７００の情報応答部７１１は、レスポンスデータ２２００を以下のように生成する。
【００８２】
まず、情報応答部７１１は、受信した情報応答２１１０からレスポンスデータ２１００を取得し、レスポンスデータ２１００、第三車載機器鍵７２１３を用いてレスポンスデータ２２００を生成する。ここで、暗号アルゴリズムを用いて、レスポンスデータ２１００を第三車載機器鍵７２１３で暗号化した結果の値をレスポンスデータ２２００とする。使用する暗号アルゴリズムは、ステップＳ２００２において第一車載機器５００が使用したものと同じである。
【００８３】
次に、ステップＳ２２０３において、情報応答部７１１は、チャレンジデータ１９００、レスポンスデータ２２００、第二メーカ識別情報７２１１、第三車載機器識別情報７２１２、第一メーカ識別情報６２１１、第二車載機器識別情報６２１２、第二メーカ識別情報５２１１、第一車載機器識別情報５２１２および構成情報４２１５を含んだ情報応答２２１０を生成する。
その後、ステップＳ２２０４において、送信部７４２は、構成情報４２１５を参照し、第三車載機器７００のネットワークアドレスである第三車載機器ネットワークアドレス４２１５３の次に設定されているＧＷネットワークアドレス４２１５４を送信先として、情報応答２２１０を送信する。
【００８４】
次に、図１８のステップＳ１８０５において、ＧＷ４００は、暗号化共有鍵を要求する。
すなわち、図２３に示すように、ステップＳ２３０１において、ＧＷ４００は、ステップＳ２２０４で第三車載機器７００が送信した情報応答２２１０を受信部４４１により受信する。
この情報応答２２１０には、チャレンジデータ１９００、レスポンスデータ２２００、第二メーカ識別情報７２１１、第三車載機器識別情報７２１２、第一メーカ識別情報６２１１、第二車載機器識別情報６２１２、第二メーカ識別情報５２１１、第一車載機器識別情報５２１２および構成情報４２１５が含まれる。
ここで、ＧＷ４００の共有鍵要求部４１２は、所定のエラー判定を行い、エラーと判定した場合には直ちに本フローチャートを終了する。例えば、所定の時間内に情報応答２２１０を受信しなかった場合、受信した情報応答２２１０の中に含まれたチャレンジデータ１９００の値が正しくない場合、受信した情報応答２２１０の中に含まれたメーカ識別情報および車載機器識別情報の数が構成情報４２１５に設定されている車載機器の数と一致しない場合などが生じたときにエラーと判定することになる。
【００８５】
一方、ステップＳ２３０１においてエラーと判定されない場合、ステップＳ２３０２に移行し、共有鍵要求部４１２は、第一メーカ識別情報４２１１、ＧＷ識別情報４２１２、チャレンジデータ１９００、レスポンスデータ２２００、第二メーカ識別情報７２１１、第三車載機器識別情報７２１２、第一メーカ識別情報６２１１、第二車載機器識別情報６２１２、第二メーカ識別情報５２１１および第一車載機器識別情報５２１２を含んだ鍵要求２３００を生成し、ステップＳ２３０３において、鍵要求２３００を送信部４４２により鍵管理装置１００に送信する。
【００８６】
次に、図１８に示すステップＳ１８０６において、ＧＷ４００は、図２３における鍵要求処理（ステップＳ２３０１）の判定がエラーで終了したか否かを判断し、エラーで終了している場合、エラー処理を実行して、図１８に示す共有鍵共有フローチャートを直ちに終了する。このエラー処理は、例えば、エラーＬＥＤを点灯させる、事業者１０１の工場内で稼働しているログ管理サーバや試験機、工場ツール等に異常終了した旨を示すアラート（いずれも図示せず）を表示させるなどを行う。
一方、エラーで終了していない場合、ステップＳ１８０７に進み、鍵管理装置１００は、暗号化共有鍵をＧＷ４００に送信する。
すなわち、図２４に示すように、ステップＳ２４０１において、鍵管理装置１００は、鍵要求２３００を受信部１４１により受信する。
この鍵要求２３００には、ＧＷ４００の情報である第一メーカ識別情報４２１１およびＧＷ識別情報４２１２と、チャレンジデータ１９００と、レスポンスデータ２２００と、第三車載機器７００の情報である第二メーカ識別情報７２１１および第三車載機器識別情報７２１２と、第二車載機器６００の情報である第一メーカ識別情報６２１１および第二車載機器識別情報６２１２と、第一車載機器５００の情報である第二メーカ識別情報５２１１および第一車載機器識別情報５２１２とが含まれる。
【００８７】
次に、ステップＳ２４０２において、鍵管理装置１００は、マスタ鍵１２１１と第一メーカ識別情報４２１１とを用いて、メーカ鍵生成部１１２により第一メーカ鍵１２３１を生成する。この第一メーカ鍵１２３１は、ステップＳ１７０２で生成した第一メーカ鍵１２２１に対応する鍵である。ここで、第一メーカ識別情報４２１１が正しい場合、第一メーカ鍵１２３１は、第一メーカ鍵１２２１と一致することになる。
また、鍵管理装置１００は、マスタ鍵１２１１と第二メーカ識別情報７２１１とを用いて、メーカ鍵生成部１１２により第二メーカ鍵１２３２を生成する。この第二メーカ鍵１２３２は、ステップＳ１７０２で生成した第二メーカ鍵１２２２に対応する鍵である。ここで、第二メーカ識別情報５２１１が正しい場合、第二メーカ鍵１２３２は、第二メーカ鍵１２２２と一致することになる。
【００８８】
なお、メーカ鍵生成部１１２は、マスタ鍵１２１１と第一メーカ識別情報６２１１、マスタ鍵１２１１と第二メーカ識別情報５２１１から、それぞれメーカ鍵の生成を行うことになるが、この実施例においては、第一メーカ識別情報６２１１が第一メーカ識別情報４２１１と、第二メーカ識別情報５２１１が第二メーカ識別情報７２１１と、それぞれ同一であるため、これらメーカ鍵の生成は行わない。また、第一メーカ鍵１２３１および第二メーカ鍵１２３２を生成する方法は、図１７のステップＳ１７０２で第一メーカ鍵１２２１および第二メーカ鍵１２２２を生成する方法と同じである。
【００８９】
次に、ステップＳ２４０３において、鍵管理装置１００は、第一メーカ鍵１２３１とＧＷ識別情報４２１２とを用いて、機器鍵生成部１１３によりＧＷ鍵１２４１を生成する。このＧＷ鍵１２４１は、ステップＳ１７０５で第一機器管理装置８００の機器鍵生成部８１１が生成したＧＷ鍵８２２１、およびステップＳ１７０７でＧＷ４００の記憶部４２１に記憶したＧＷ鍵４２１３に対応する鍵である。ここで、第一メーカ鍵１２３１とＧＷ識別情報４２１２とが正しい場合、ＧＷ鍵１２４１は、ＧＷ鍵８２２１およびＧＷ鍵４２１３と一致することになる。
【００９０】
また、鍵管理装置１００は、第一メーカ鍵１２３１と第二車載機器識別情報６２１２とを用いて、機器鍵生成部１１３により第二車載機器鍵１２４２を生成する。ここで、第一メーカ鍵１２３１と第二車載機器識別情報６２１２とが正しい場合、第二車載機器鍵１２４２は、ステップＳ１７０５で第一機器管理装置８００の機器鍵生成部８１１が生成した第二車載機器鍵８２２２、およびステップＳ１７０７で第二車載機器６００の記憶部６２１に記憶した第二車載機器鍵６２１３と一致することになる。
【００９１】
さらに、鍵管理装置１００は、第二メーカ鍵１２３２と第一車載機器識別情報５２１２とを用いて、機器鍵生成部１１３により第一車載機器鍵１２５１を生成する。この第一車載機器鍵１２５１は、ステップＳ１７０５で第二機器管理装置９００の機器鍵生成部９１１が生成した第一車載機器鍵９２２１、およびステップＳ１７０７で第一車載機器５００の記憶部５２１に記憶した第一車載機器鍵５２１３に対応する鍵である。ここで、第二メーカ鍵１２３２と第一車載機器識別情報５２１２とが正しい場合、第一車載機器鍵１２５１は、第一車載機器鍵９２２１および第一車載機器鍵５２１３と一致することになる。
また、鍵管理装置１００は、第二メーカ鍵１２３２と第三車載機器識別情報７２１２とを用いて、機器鍵生成部１１３により第三車載機器鍵１２５２を生成する。ここで、第二メーカ鍵１２３２と第三車載機器識別情報７２１２とが正しい場合、第三車載機器鍵１２５２は、ステップＳ１７０５で第二機器管理装置９００の機器鍵生成部９１１が生成した第三車載機器鍵９２２２、およびステップＳ１７０７で第三車載機器７００の記憶部７２１に記憶した第三車載機器鍵７２１３と一致することになる。
なお、ＧＷ鍵１２４１、第二車載機器鍵１２４２、第一車載機器鍵１２５１および第三車載機器鍵１２５２を生成する方法は、図１７のステップＳ１７０５でＧＷ鍵８２２１、第二車載機器鍵８２２２、第一車載機器鍵９２２１、および第三車載機器鍵９２２２を生成する方法と同じである。
【００９２】
次に、ステップＳ２４０４において、鍵管理装置１００は、ステップＳ２４０３で再生した機器鍵を用いて認証情報検証部１１４によりレスポンスデータ２２００を復号する。
すなわち、図２５に示すように、ステップＳ２５０１において、鍵管理装置１００は、第三車載機器鍵１２５２を用いて認証情報検証部１１４によりレスポンスデータ２２００を復号する。復号した値をレスポンスデータ１２６０とする。
次に、ステップＳ２５０２において、鍵管理装置１００は、第二車載機器鍵１２４２を用いて、認証情報検証部１１４によりレスポンスデータ１２６０を復号する。復号した値をレスポンスデータ１２６１とする。
さらに、ステップＳ２５０３において、鍵管理装置１００は、第一車載機器鍵１２５１を用いて認証情報検証部１１４によりレスポンスデータ１２６１を復号する。復号した値をチャレンジデータ１２７０とする。
なお、ステップＳ２５０１からステップＳ２５０３の各ステップにおいて復号に使用する暗号アルゴリズムは、ステップＳ２００２において第一車載機器５００が使用したものと同じである。
【００９３】
次に、図２４に示すステップＳ２４０５において、認証情報検証部１１４は、チャレンジデータ１２７０を鍵要求２３００に含まれるチャレンジデータ１９００と比較し、チャレンジデータ１２７０がチャレンジデータ１９００と一致しない場合、図２４に示す鍵応答処理フローチャートを終了する。この終了時に、鍵応答の代わりにエラーを通知するエラー応答をＧＷ４００に送信してもよい。
【００９４】
一方、チャレンジデータ１２７０がチャレンジデータ１９００と一致する場合、ステップＳ２４０６に進み、このステップＳ２４０６において、鍵管理装置１００の共有鍵生成部１１５は、共有鍵１２８０を生成する。この共有鍵１２８０は、ＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００に共有させる認証鍵である。具体的には、共有鍵生成部１１５は、乱数を生成し、生成された乱数を入力として、鍵生成関数を実行する。
【００９５】
次に、ステップＳ２４０７において、鍵管理装置１００の暗号化共有鍵生成部１１６は、ＧＷ鍵１２４１を用いて共有鍵１２８０を暗号化し、第一暗号化共有鍵１２９０を生成する。
同様に、暗号化共有鍵生成部１１６は、第一車載機器鍵１２５１を用いて共有鍵１２８０を暗号化して第二暗号化共有鍵１２９１を、第二車載機器鍵１２４２を用いて共有鍵１２８０を暗号化して第三暗号化共有鍵１２９２を、第三車載機器鍵１２５２を用いて共有鍵１２８０を暗号化して第四暗号化共有鍵１２９３を、それぞれ生成する。
具体的には、暗号化共有鍵生成部１１６は、認証付き暗号方式で、共有鍵１２８０を暗号化する。より具体的には、暗号化共有鍵生成部１１６は、機器鍵と共有鍵１２８０とを入力として、認証付き暗号方式の暗号化関数を実行する。入力となる機器鍵は、ＧＷ鍵１２４１、第一車載機器鍵１２５１、第二車載機器鍵１２４２または第三車載機器鍵１２５２である。
【００９６】
次に、ステップＳ２４０８において、鍵応答生成部１１７は、第一暗号化共有鍵１２９０、第二暗号化共有鍵１２９１、第三暗号化共有鍵１２９２および第四暗号化共有鍵１２９３を含んだ鍵応答２４００を生成し、この鍵応答２４００をステップＳ２４０９において、送信部１４２によりＧＷ４００に送信する。
【００９７】
次に、図１８に示すステップＳ１８０８において、図２４に示した鍵応答処理フローチャートがエラーで終了した場合、エラー処理を実行して共有鍵共有フローチャートを直ちに終了する。
一方、図２４に示した鍵応答処理フローチャートが正常に終了した場合、ステップＳ１８０９に進み、ステップＳ１８０９において、ＧＷ４００は、暗号化共有鍵を共有鍵に復号する。
ここで、図２６に示すように、ステップＳ２６０１において、ＧＷ４００の受信部４４１は、鍵応答２４００を受信する。この鍵応答２４００には、第一暗号化共有鍵１２９０、第二暗号化共有鍵１２９１、第三暗号化共有鍵１２９２および第四暗号化共有鍵１２９３が含まれている。
【００９８】
次に、ステップＳ２６０２において、ＧＷ４００の共有鍵復号部４１３は、ＧＷ鍵４２１３を用いて第一暗号化共有鍵１２９０を復号する。具体的には、共有鍵復号部４１３は、認証付き暗号方式で、第一暗号化共有鍵１２９０を復号する。より具体的には、共有鍵復号部４１３は、ＧＷ鍵４２１３と第一暗号化共有鍵１２９０とを入力として、認証付き暗号方式の復号関数を実行する。
この認証付き暗号方式における復号では、認証および復号が行われ、認証が成功した場合に復号が成功する。逆に、認証が失敗した場合には復号が失敗する。
次に、ステップＳ２６０３に移行し、ステップＳ２６０２で復号が成功した場合、ステップＳ２６０４に進む。また、復号が失敗した場合、図２６に示す鍵復号処理フローチャートを終了する。
【００９９】
次に、ステップＳ２６０４において、ＧＷ４００の記憶部４２１は、ステップＳ２６０２において第一暗号化共有鍵１２９０を復号した結果を共有鍵４２１４として記憶する。この共有鍵４２１４は、S２４０６において鍵管理装置１００が生成した共有鍵１２８０と同じ鍵である。
次に、ステップＳ２６０５において、ＧＷ４００の送信部４４２は、鍵応答２４００から第一暗号化共有鍵１２９０を除いた残りのデータ、すなわち、第二暗号化共有鍵１２９１、第三暗号化共有鍵１２９２および第四暗号化共有鍵１２９３を含むデータを、構成情報４２１５を参照して構成情報４２１５に設定されている全てのネットワークアドレスに届くよう送信する。この送信は、ブロードキャスト送信である。
【０１００】
次に、図１８に示すステップＳ１８１０において、図２６に示す鍵復号処理フローチャートがエラーで終了した場合、エラー処理を実行して、共有鍵共有フローチャートを直ちに終了する。また、鍵復号処理フローチャートが正常終了した場合、ステップＳ１８１１に進み、このステップＳ１８１１において、第一車載機器５００、第二車載機器６００および第三車載機器７００は、暗号化共有鍵を共有鍵に復号する。
【０１０１】
すなわち、図２７に示すように、ステップＳ２７０１において、第一車載機器５００の受信部５４１と、第二車載機器６００の受信部６４１と、第三車載機器７００の受信部７４１は、それぞれ、第二暗号化共有鍵１２９１、第三暗号化共有鍵１２９２および第四暗号化共有鍵１２９３を含むデータを受信し、ステップＳ２７０２において、第一車載機器５００の共有鍵復号部５１２は、第一車載機器鍵５２１３を用いて第二暗号化共有鍵１２９１を復号する。具体的には、共有鍵復号部５１２は、認証付き暗号方式で、第二暗号化共有鍵１２９１を復号する。より具体的には、共有鍵復号部５１２は、第一車載機器鍵５２１３と第二暗号化共有鍵１２９１とを入力として、認証付き暗号方式の復号関数を実行する。
【０１０２】
この認証付き暗号方式における復号では、認証および復号が行われ、認証が成功した場合に復号が成功し、認証が失敗した場合には復号が失敗する。
同様に、第二車載機器６００の共有鍵復号部６１２は、第二車載機器鍵６２１３を用いて第三暗号化共有鍵１２９２を復号し、第三車載機器７００の共有鍵復号部７１２は、第三車載機器鍵７２１３を用いて第四暗号化共有鍵１２９３を復号する。
なお、共有鍵復号部６１２および共有鍵復号部７１２における復号方法は、共有鍵復号部５１２における復号方法と同じである。
【０１０３】
次に、ステップＳ２７０３において、ステップＳ２７０２で復号が成功した場合、ステップＳ２７０４に進み、復号が失敗した場合、図２７に示す鍵復号処理フローチャートは、終了する。
次に、ステップＳ２７０４において、第一車載機器５００の記憶部５２１は、ステップＳ２７０２において第二暗号化共有鍵１２９１を復号した結果を共有鍵５２１４として記憶する。この共有鍵５２１４は、ステップＳ２４０６において鍵管理装置１００が生成した共有鍵１２８０と同じ鍵である。
同様に、第二車載機器６００の記憶部６２１は、ステップＳ２７０２において第三暗号化共有鍵１２９２を復号した結果を共有鍵６２１４として記憶する。この共有鍵６２１４は、ステップＳ２４０６において鍵管理装置１００が生成した共有鍵１２８０と同じ鍵である。
同様に、第三車載機器７００の記憶部７２１は、ステップＳ２７０２において第四暗号化共有鍵１２９３を復号した結果を共有鍵７２１４として記憶する。この共有鍵７２１４は、ステップＳ２４０６において鍵管理装置１００が生成した共有鍵１２８０と同じ鍵である。
【０１０４】
以上説明したように、この発明の実施の形態１に係る鍵共有システムによれば、ＧＷ４００と第一車載機器５００と第二車載機器６００と第三車載機器７００とは、同じ鍵を共有することになり、共有鍵が共有された後、お互いに共有鍵を用いて、例えば、機器認証、メッセージ認証、メッセージ暗号化などを行うことが可能となる。
したがって、ＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００の間で安全にデータを通信することができる。
また、この発明の実施の形態１に係る鍵共有システムによれば、ＧＷ４００が第一車載機器５００、第二車載機器６００および第三車載機器７００との間で鍵共有を行う際に、鍵管理装置１００とＧＷ４００との間でやり取りされるデータは、鍵要求２３００および鍵応答２４００のみとなり、当該鍵共有処理に要する全体の処理時間を短縮することが可能になる。
特に、上述では説明を簡略化させるため、車両３００内に存在する車載機器を第一車載機器５００、第二車載機器６００および第三車載機器７００の３つのみとしたが、実際の自動車車両には数十から百数十個の数の車載機器が搭載されているため、この発明によって鍵管理装置１００とＧＷ４００との間でやり取りされるデータ数の削減に大きな効果を得ることができる。
【０１０５】
なお、上述した実施の形態において、以下のような変形を加えることが可能である。
第１に、ＧＷ４００が送付したチャレンジに対する、第一車載機器５００、第二車載機器６００および第三車載機器７００のレスポンスデータの生成では、暗号化の際に乱数を、使い捨ての値であるノンス（Number  Used  Once：以下、Ｎｏｎｃｅと称す）として用いることが望ましい。具体的には、図２０に示すステップＳ２００２において、第一車載機器５００の情報応答部５１１が乱数を生成して、その乱数をＮｏｎｃｅとし、チャレンジデータ１９００を第一車載機器鍵５２１３およびＮｏｎｃｅで暗号化した結果の値をレスポンスデータ２０００とする。また、ステップＳ２００３において、情報応答部５１１が情報応答２０１０の中にＮｏｎｃｅを含める。
さらに、第二車載機器６００および第三車載機器７００も、同様に、乱数を生成し、その乱数をＮｏｎｃｅとして使用して暗号化を行う。また、情報応答の中にＮｏｎｃｅの情報も含める。
また、ＧＷ４００は、図１８に示すステップＳ１８０５において、第一車載機器５００、第二車載機器６００および第三車載機器７００がそれぞれ情報応答に含めたＮｏｎｃｅを、そのまま鍵要求２３００に含めて鍵管理装置１００に送信し、図２４に示すステップＳ２４０４において、鍵管理装置１００の認証情報検証部１１４がレスポンス復号処理の際にそれらＮｏｎｃｅを用いてレスポンスデータの復号を行う。
【０１０６】
第２に、ＧＷ４００が送付したチャレンジに対する、第一車載機器５００、第二車載機器６００および第三車載機器７００のレスポンスデータの生成では、暗号化ではなく認証コードを生成してもよい。具体的には、図２０に示すステップＳ２００２において、第一車載機器５００の情報応答部５１１がチャレンジデータ１９００に対し、第一車載機器鍵５２１３で認証コードを生成した結果の値をレスポンスデータ２０００とする。また、図２１に示すステップＳ２１０２において、第二車載機器６００の情報応答部６１１がレスポンスデータ２０００に対し、第二車載機器鍵６２１３で認証コードを生成した結果の値をレスポンスデータ２１００とする。さらに、図２２に示すステップＳ２２０２において、第三車載機器７００の情報応答部７１１がレスポンスデータ２１００に対し、第三車載機器鍵７２１３で認証コードを生成した結果の値をレスポンスデータ２２００とする。
【０１０７】
これらの認証コードを用いる場合、鍵管理装置１００は、ステップＳ１８０７において、図２４に示すフローチャートではなく、図２８に示すフローチャートを実施する。ここで、図２８に示すステップＳ２４０１からステップＳ２４０３は、図２４に示すステップＳ２４０１からステップＳ２４０３と同一であるため、その説明を省略する。
次に、ステップＳ２８０４において、鍵管理装置１００の認証情報検証部１１４は、鍵要求２３００に含まれるレスポンスデータ２２００を検証する。
【０１０８】
図２９は、この検証処理のフローチャートを示すもので、ステップＳ２９０１において、認証情報検証部１１４は、鍵要求２３００に含まれるチャレンジデータ１９００に対し、第一車載機器鍵１２５１で認証コード２９１０を生成する。
次に、ステップＳ２９０２において、認証情報検証部１１４は、認証コード２９１０に対し、第二車載機器鍵１２４２で認証コード２９１１を生成し、ステップＳ２９０３において、認証コード２９１１に対し、第三車載機器鍵１２５２で認証コード２９１２を生成する。
【０１０９】
その後、図２８に示すステップＳ２８０５において、認証情報検証部１１４は、図２９に示す検証処理を実施した結果得られた認証コード２９１２の値が鍵要求２３００に含まれるレスポンスデータ２２００と一致するかどうかを判定し、一致しない場合は、ステップＳ２４０６に進む。
なお、図２８に示すステップＳ２４０６からステップＳ２４０９は、図２４のステップＳ２４０６からステップＳ２４０９と同一であるため、その説明を省略する。
【０１１０】
第３に、ＧＷ４００と第一車載機器５００、ＧＷ４００と第二車載機器６００、ＧＷ４００と第三車載機器７００の間で共有する共有鍵は、全て異なっていてもよい。具体的には、図２４に示すステップＳ２４０６において、共有鍵生成部１１５は、第一共有鍵、第二共有鍵、第三共有鍵の３種類の共有鍵を生成する。また、ステップＳ２４０７において、暗号化共有鍵生成部１１６は、ＧＷ鍵１２４１を用いて第一共有鍵、第二共有鍵、第三共有鍵を暗号化して、第一暗号化共有鍵１２９０を生成する。同様に、暗号化共有鍵生成部１１６は、第一車載機器鍵１２５１を用いて第一共有鍵を暗号化して第二暗号化共有鍵１２９１を生成し、第二車載機器鍵１２４２を用いて第二共有鍵を暗号化して第三暗号化共有鍵１２９２を生成し、第三車載機器鍵１２５２を用いて第三共有鍵を暗号化して第四暗号化共有鍵１２９３を生成する。
【０１１１】
ここで、ＧＷ４００と第一車載機器５００と第二車載機器６００と第三車載機器７００とに共有させる鍵は、複数であってもよい。具体的には、図２４に示すステップＳ２４０６において、共有鍵生成部１１５は、複数の共有鍵を生成し、ステップＳ２４０７において、暗号化共有鍵生成部１１６は、ＧＷ鍵１２４１を用いて複数の共有鍵を暗号化して複数の第一暗号化共有鍵１２９０を生成し、第一車載機器鍵１２５１を用いて複数の共有鍵を暗号化して複数の第二暗号化共有鍵１２９１を生成し、第二車載機器鍵１２４２を用いて複数の共有鍵を暗号化して複数の第三暗号化共有鍵１２９２を生成し、第三車載機器鍵１２５２を用いて複数の共有鍵を暗号化して複数の第四暗号化共有鍵１２９３を生成する。
【０１１２】
第４に、ＧＷ４００が第一車載機器５００、第二車載機器６００および第三車載機器７００に暗号化共有鍵を送信する際、ブロードキャスト送信ではなく、車載機器それぞれに対して、対応する暗号化共有鍵のみを個別に送信してもよい。具体的には、図２６に示すステップＳ２６０５において、ＧＷ４００の送信部４４２は、第二暗号化共有鍵１２９１、第三暗号化共有鍵１２９２および第四暗号化共有鍵１２９３をブロードキャスト送信するのではなく、構成情報４２１５を参照し、第二暗号化共有鍵１２９１が第一車載機器５００のネットワークアドレスである第一車載機器ネットワークアドレス４２１５１宛てに、第三暗号化共有鍵１２９２が第二車載機器６００のネットワークアドレスである第二車載機器ネットワークアドレス４２１５２宛てに、第四暗号化共有鍵１２９３が第三車載機器７００のネットワークアドレスである第三車載機器ネットワークアドレス４２１５３宛てに、それぞれ送信する。
【０１１３】
なお、構成情報４２１５は、図１８に示す共有鍵共有フローチャートが実行される以前に、第一車載機器５００、第二車載機器６００および第三車載機器７００に配布されていてもよく、この場合、図１８に示すステップＳ１８０１からステップＳ１８０４の各ステップにおいて、構成情報４２１５の送信は、不要となる。
また、構成情報４２１５の内容のうち、第一車載機器５００には次の送付先である第二車載機器ネットワークアドレス４２１５２の情報のみを配布し、同様に、第二車載機器６００には第三車載機器ネットワークアドレス４２１５３の情報のみを配布し、第三車載機器７００にはＧＷネットワークアドレス４２１５４の情報のみを配布してもよい。
【０１１４】
第５に、ＧＷ４００による共有鍵４２１４の保存と、第一車載機器５００による共有鍵５２１４の保存と、第二車載機器６００による共有鍵６２１４の保存と、第三車載機器７００による共有鍵７２１４の保存とは、各機器での検証が成功した後に行なうように構成してもよい。
具体的には、図２７に示すステップＳ２７０２において暗号化共有鍵の復号が成功した場合、第一車載機器５００と第二車載機器６００と第三車載機器７００とは、成功通知をＧＷ４００に送信し、逆に、暗号化共有鍵の復号が失敗した場合、失敗通知をＧＷ４００に送信する。ここで、第一車載機器５００と第二車載機器６００と第三車載機器７００の全てから成功通知を受信した場合、ＧＷ４００は、共有鍵４２１４を記憶した上で、共有成功通知をブロードキャスト送信する。また、第一車載機器５００と第二車載機器６００と第三車載機器７００とは、共有成功通知を受信すると、それぞれ、共有鍵５２１４と共有鍵６２１４と共有鍵７２１４とを記憶することになる。
【０１１５】
実施の形態２．
上述の実施の形態１においては、ＧＷ４００が車両３００内に存在する全ての車載機器に対して同時に鍵を共有するように構成しているが、車両３００内のネットワークが複数のドメインと呼ばれる単位に分割され、各車載機器がその機能によっていずれかのドメインに属するよう構成されている場合には、鍵共有処理をドメイン単位で行うようにしてもよく、このような実施の形態を図３０に示している。なお、ドメインには、例えばボディ系、情報系、パワー系などが存在する。
【０１１６】
図３０において、車両３００は、ＧＷ４００、第一車載機器５００、第二車載機器６００、第三車載機器７００、第四車載機器３３０、第五車載機器３４０および第六車載機器３５０を備えており、第一車載機器５００と第二車載機器６００と第三車載機器７００とを含むドメインＡ３１０と、第四車載機器３３０と第五車載機器３４０と第六車載機器３５０とを含むドメインＢ３２０とに分離されている。
なお、鍵管理装置１００、ネットワーク２００、ＧＷ４００、第一車載機器５００、第二車載機器６００および第三車載機器７００は、実施の形態１で説明したものと同一である。また、第四車載機器３３０、第五車載機器３４０および第六車載機器３５０の構成は、第一車載機器５００、第二車載機器６００および第三車載機器７００と同様であるため、その説明を省略する。
【０１１７】
ここで、上記のドメインＡ３１０およびドメインＢ３２０は、ケーブルを介してＧＷ４００に接続されており、ドメインＡ３１０に属する車載機器とドメインＢ３２０に属する車載機器とが通信を行う場合、ＧＷ４００を介して行うことになる。また、ＧＷ４００は、図３１に示すように、記憶部４２１にドメインＡ構成情報３１０１とドメインＢ構成情報３１０２とを記憶するように構成されている。
なお、第一メーカ識別情報４２１１、ＧＷ識別情報４２１２、ＧＷ鍵４２１３および共有鍵４２１４については、実施形態１と同一である。また、ドメインＡ構成情報３１０１は、実施の形態１における構成情報４２１５と同一である。さらに、ドメインＢ構成情報３１０２には、図３２に示すように、第四車載機器３３０のネットワークアドレスの値である第四車載機器ネットワークアドレス３１０２１、第五車載機器３４０のネットワークアドレスの値である第五車載機器ネットワークアドレス３１０２２、第六車載機器３５０のネットワークアドレスの値である第六車載機器ネットワークアドレス３１０２３およびＧＷネットワークアドレス３１０２４が設定される。また、ＧＷ４００のネットワークアドレスの値であるＧＷネットワークアドレス３１０２４が設定される。このＧＷネットワークアドレス３１０２４は、実施の形態１におけるＧＷネットワークアドレス４２１５４と同一である。
【０１１８】
次に、このような実施の形態２における動作について説明する。
この実施の形態２にかかる鍵共有システムでは、ＧＷ４００がドメイン単位で鍵共有処理を行うことになる。具体的には、まず、ＧＷ４００は、ドメインＡ３１０に属する第一車載機器５００、第二車載機器６００および第三車載機器７００に対して、図１８に示した鍵共有フローチャートを実施する。この時、図１９に示すステップＳ１９０２においては、情報要求１９１０に含める情報としてドメインＡ構成情報３１０１を用いることになる。この図１８に示した鍵共有フローチャートを実施した結果、ＧＷ４００と第一車載機器５００、第二車載機器６００および第三車載機器７００とは、共有鍵を共有することができる。
【０１１９】
次に、ＧＷ４００は、ドメインＢ３２０に属する第四車載機器３３０、第五車載機器３４０および第六車載機器３５０に対して、図１８と同様の鍵共有フローチャートを実施する。このとき、情報要求１９１０に含める情報にはドメインＢ構成情報３１０２を用いることになる。これにより、ＧＷ４００と第四車載機器３３０、第五車載機器３４０および第六車載機器３５０とは、共有鍵を共有することができる。ここで、共有される共有鍵は、ドメインＡ３１０に属する車載機器との間で共有した共有鍵とは別の鍵である。
なお、鍵管理装置１００、第一機器管理装置８００、ＧＷ４００、第二機器管理装置９００、第一車載機器５００、第二車載機器６００および第三車載機器７００の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。すなわち、「部」の機能の一部をソフトウェアで実現し、「部」の機能の残りをハードウェアで実現してもよい。
【０１２０】
以上のように、この実施の形態２にかかる鍵共有システムによれば、ＧＷ４００がドメイン毎に車載機器との間で共有鍵を共有することになり、これにより、同一ドメイン内の車載機器間でのみ安全にデータ通信を行うことが可能になる。しかも、この実施の形態２においても、車載機器と個々に鍵共有処理を行う場合に比べ、鍵管理装置１００とＧＷ４００との間でやり取りするデータを削減することができるという効果が得られる。
【０１２１】
なお、上述の実施の形態においては、ＧＷ４００を車両３００の内部機器として構成しているが、車両３００の外部に設け、外部から車載機器をメンテナンスするように構成してもよい。また、車両３００に限定されず、鍵管理装置を有する親局と複数の端末機器を備えた子局とをネットワークを介して通信する通信システムに応用することができる。
さらに、上述の実施の形態は、好ましい形態の例示であり、実施の形態を部分的に実施してもよく、他の形態と組み合わせて実施してもよく、フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【０１２２】
１：鍵共有システム、１００：鍵管理装置、１０１：事業者、１１１：マスタ鍵生成部、１１２：メーカ鍵生成部、１１３：機器鍵生成部、１１４：認証情報検証部、１１５：共有鍵生成部、１１６：暗号化共有鍵生成部、１１７：鍵応答生成部、１４１：受信部、  １４２：送信部、２００：ネットワーク、３００：車両、４００：ゲートウエイ（ＧＷ）、５００：第一車載機器、６００：第二車載機器、７００：第三車載機器、８００：第一機器管理装置、８０１：第一メーカ、９００：第二機器管理装置、９０１：第二メーカ
【図１】
0006721266.tif 000002
【図２】
0006721266.tif 000003
【図３】
0006721266.tif 000004
【図４】
0006721266.tif 000005
【図５】
0006721266.tif 000006
【図６】
0006721266.tif 000007
【図７】
0006721266.tif 000008
【図８】
0006721266.tif 000009
【図９】
0006721266.tif 000010
【図１０】
0006721266.tif 000011
【図１１】
0006721266.tif 000012
【図１２】
0006721266.tif 000013
【図１３】
0006721266.tif 000014
【図１４】
0006721266.tif 000015
【図１５】
0006721266.tif 000016
【図１６】
0006721266.tif 000017
【図１７】
0006721266.tif 000018
【図１８】
0006721266.tif 000019
【図１９】
0006721266.tif 000020
【図２０】
0006721266.tif 000021
【図２１】
0006721266.tif 000022
【図２２】
0006721266.tif 000023
【図２３】
0006721266.tif 000024
【図２４】
0006721266.tif 000025
【図２５】
0006721266.tif 000026
【図２６】
0006721266.tif 000027
【図２７】
0006721266.tif 000028
【図２８】
0006721266.tif 000029
【図２９】
0006721266.tif 000030
【図３０】
0006721266.tif 000031
【図３１】
0006721266.tif 000032
【図３２】
0006721266.tif 000033