(57)【要約】【課題】車両とサーバとの間で安全に鍵交換する方法を提供する。【解決手段】サーバと車載システムとを有する情報共有システムであって、車載システムは車両に関する構成情報を収集し、サーバは、車両状態管理情報と構成情報とを照合することによって、車載システムとの鍵交換の可否を判定し、鍵交換が可能と判定された場合、第１の秘密鍵及び第１の公開鍵を生成し、サーバ秘密鍵を用いて、第１の公開鍵の署名値を生成し、車載システムは、公開鍵証明書を用いて、第１の公開鍵及び署名値を検証し、第１の公開鍵と署名値との組み合わせが正当である場合、第２の秘密鍵及び第２の公開鍵を生成する。【選択図】図２
2018007049.tif 000002
【特許請求の範囲】
【請求項１】
情報共有システムであって、
サーバと、車載システムとを有し、
前記車載システムは、当該車載システムが搭載された車両に関する構成情報を収集する車両構成管理部を有し、
前記サーバは、
サーバ秘密鍵と、前記車載システムとの鍵交換の可否を判定するために使用され、車両の状態を示す車両状態管理情報と、を格納する第１の記憶部と、
前記車両状態管理情報と前記構成情報との照合によって、前記車載システムとの鍵交換の可否を判定する判定部と、
前記車載システムと鍵交換が可能と判定された場合、第１の秘密鍵及び第１の公開鍵を生成する第１の鍵生成部と、
前記サーバ秘密鍵を用いて、前記第１の公開鍵の署名値を生成する署名生成部と、を有し、
前記車載システムは、
サーバ公開鍵を含む公開鍵証明書を格納する第２の記憶部と、
前記公開鍵証明書を用いて、前記サーバから受信した第１の公開鍵及び署名値を検証する署名検証部と、
前記検証の結果、前記第１の公開鍵と署名値との組み合わせが正当である場合、第２の秘密鍵及び第２の公開鍵を生成する第２の鍵生成部と、を有することを特徴とする情報共有システム。
【請求項２】
請求項１に記載の情報共有システムであって、
前記第１の秘密鍵、前記第１の公開鍵、前記第２の秘密鍵及び前記第２の公開鍵は、ディフィー・ヘルマン鍵共有方式に従って生成及び交換されることを特徴とする情報共有システム。
【請求項３】
請求項２に記載の情報共有システムであって、
前記サーバは、前記第１の秘密鍵及び前記第２の公開鍵を用いて、秘密情報を生成する第１の秘密情報生成部を有し、
前記車載システムは、前記第２の秘密鍵及び前記第１の公開鍵を用いて、秘密情報を生成する第２の秘密情報生成部を有することを特徴とする情報共有システム。
【請求項４】
請求項１に記載の情報共有システムであって、
前記構成情報が入力される端末を有し、
前記端末は、前記入力された構成情報を前記サーバに送信する車両構成登録部を有することを特徴とする情報共有システム。
【請求項５】
請求項１に記載の情報共有システムであって、
前記車両状態管理情報は、前記車両が鍵交換を行うのに適切な位置を特定するための情報を含み、
前記判定部は、
前記車両状態管理情報と前記構成情報に含まれる車両の位置とを用いて、前記車両が鍵交換を行うのに適切な場所に位置するかを判定し、
前記車両が鍵交換を行うのに適切な場所に位置する場合、前記車載システムと鍵交換できると判定することを特徴とする情報共有システム。
【請求項６】
車載システムと通信する計算機であって、
サーバ秘密鍵と、前記車載システムによる鍵交換の可否を判定するために使用され、車両の状態を示す車両状態管理情報と、を格納する記憶部と、
前記車両状態管理情報と前記構成情報との照合によって、前記車載システムとの鍵交換の可否を判定する判定部と、
前記車載システムと鍵交換が可能と判定された場合、第１の秘密鍵及び第１の公開鍵を生成する鍵生成部と、
前記サーバ秘密鍵を用いて、前記第１の公開鍵の署名値を生成する署名生成部と、を備え、
前記第１の公開鍵及び前記署名値を前記車載システムに送信し、
前記第１の公開鍵と前記署名値との組み合わせが正当である場合に生成される第２の公開鍵を前記車載システムから受信することを特徴とする計算機。
【請求項７】
請求項６に記載の計算機であって、
前記第１の秘密鍵及び前記第１の公開鍵は、ディフィー・ヘルマン鍵共有方式に従って生成されることを特徴とする計算機。
【請求項８】
請求項７に記載の計算機であって、
前記第１の秘密鍵及び前記第２の公開鍵を用いて、秘密情報を生成する秘密情報生成部を有することを特徴とする計算機。
【請求項９】
請求項６に記載の計算機であって、
前記構成情報を端末から受信することを特徴とする計算機。
【請求項１０】
請求項６に記載の計算機であって、
前記車両状態管理情報は、前記車両が鍵交換を行うのに適切な位置を特定するための情報を含み、
前記構成判定部は、
前記車両状態管理情報と前記構成情報に含まれる車両の位置とを用いて、前記車両が鍵交換を行うのに適切な場所に位置するかを判定し、
前記車両が鍵交換を行うのに適切な場所に位置すると判定した場合、前記車載システムと鍵交換できると判定することを特徴とする計算機。
【請求項１１】
情報共有システムによる情報共有方法であって、
前記情報共有システムは、サーバと、車載システムとを有し、
前記サーバは、プログラムを実行する第１のプロセッサ及び前記プログラムを記憶する第１の記憶装置を有し、
前記第１の記憶装置は、サーバ秘密鍵と、前記車載システムによる鍵交換の可否を判定するために使用され、車両の状態を示す車両状態管理情報と、を格納し、
前記車載システムは、プログラムを実行する第２のプロセッサ及び前記プログラムを記憶する第２の記憶装置を有し、
前記第２の記憶装置は、サーバ公開鍵を含む公開鍵証明書を格納し、
前記情報共有方法は、
前記車載システムが、当該車載システムが搭載された車両に関する構成情報を収集する手順と、
前記サーバが、前記構成情報を受け付ける手順と、
前記サーバが、前記車両状態管理情報と前記構成情報との照合によって、前記車載システムとの鍵交換の可否を判定する判定手順と、
前記サーバが、前記車載システムと鍵交換が可能と判定した場合、第１の秘密鍵及び第１の公開鍵を生成する手順と、
前記サーバが、前記サーバ秘密鍵を用いて、前記第１の公開鍵の署名値を生成する手順と
前記サーバが、前記第１の公開鍵及び前記署名値を前記車載システムに送信する手順と、
前記車載システムが、前記公開鍵証明書を用いて、前記サーバから受信した第１の公開鍵及び署名値を検証する手順と、
前記車載システムが、前記検証の結果、前記第１の公開鍵と署名値との組み合わせが正当である場合、第２の秘密鍵及び第２の公開鍵を生成する手順と、
前記車載システムが、前記生成された第２の公開鍵を前記サーバに送信する手順と、を含むことを特徴とする情報共有方法。
【請求項１２】
請求項１１に記載の情報共有方法であって、
前記第１の秘密鍵、前記第１の公開鍵、前記第２の秘密鍵及び前記第２の公開鍵は、ディフィー・ヘルマン鍵共有方式に従って生成及び交換されることを特徴とする情報共有方法。
【請求項１３】
請求項１２に記載の情報共有方法であって、
前記サーバが、前記第１の秘密鍵及び前記第２の公開鍵を用いて、秘密情報を生成する手順と、
前記車載システムが、前記第２の秘密鍵及び前記第１の公開鍵を用いて、前記秘密情報を生成する手順と、を含むことを特徴とする情報共有方法。
【請求項１４】
請求項１１に記載の情報共有方法であって、
前記情報共有システムは、さらに、前記構成情報が入力される端末を有し、
前記情報共有方法は、
前記サーバが、前記構成情報を前記端末から受信する手順を含むことを特徴とする情報共有方法。
【請求項１５】
請求項１１に記載の情報共有方法であって、
前記車両状態管理情報は、前記車両が鍵交換を行うのに適切な位置を特定するための情報を含み、
前記判定手順は、
前記サーバが、前記車両状態管理情報と前記構成情報に含まれる車両の位置とを用いて、前記車両が鍵交換を行うのに適切な場所に位置するかを判定する手順と、
前記サーバが、前記車両が鍵交換を行うのに適切な場所に位置すると判定した場合、前記車載システムと鍵交換できると判定する手順と、を含むことを特徴とする情報共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報共有システム、計算機、及び、情報共有方法に関する。
【背景技術】
【０００２】
自動車に搭載された車載システムが、サーバと安全に通信をするためには、サーバと秘密情報を共有することが必要になる場合がある。車載システムとサーバとは、共有する秘密情報を鍵として用いて、暗号通信により安全に通信できる。
【０００３】
車載システムとサーバとの間で共有する秘密情報が、事前に共有されていない場合、まず車載システムとサーバとの間で秘密情報を共有する必要がある。事前に秘密情報を共有していないサーバと車載システムとの間で、秘密情報の共有を可能にする技術が知られる（例えば、特許文献１参照）。
【０００４】
特許文献１によると、鍵配布装置と鍵受信装置とは、事前に各々の原始鍵を持っており、鍵配布装置は、これらの原始鍵を用いて、新たな鍵を鍵受信装置にセキュアに配布する。ここで、原始鍵は、秘密鍵と公開鍵とのペアのことである。鍵配布装置をサーバ、鍵受信装置を自動車とすれば、事前に鍵を共有していないサーバと自動車との間で、特許文献１の技術を利用することで、秘密情報である鍵を共有することが可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第００／６９１１３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の方法は、サーバと自動車とは事前に各々の原始鍵を秘密情報として格納しておく必要がある。自動車に事前に秘密情報を格納するためには、工場などで秘密情報を格納する必要が出てくる。このため、生産コストを上げる要因となる。
【０００７】
生産コストなどの問題で自動車に事前に秘密情報が載っていない場合、特許文献１の方法では安全にサーバと自動車とが秘密情報を共有することができない。
【０００８】
そこで、本発明は、自動車が事前に秘密情報を格納していない場合に、サーバと自動車との間で新たな秘密情報を安全に共有できる方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、情報共有システムであって、サーバと、車両に搭載される車載システムとを有し、前記車載システムは、当該車載システムが搭載された車両に関する構成情報を収集する車両構成管理部を有し、前記サーバは、サーバ秘密鍵と、前記車載システムとの鍵交換の可否を判定するために使用され、車両の状態を示す車両状態管理情報と、を格納する第１の記憶部と、前記車両状態管理情報と前記構成情報とを照合することによって、前記車載システムとの鍵交換の可否を判定する判定部と、前記車載システムと鍵交換が可能と判定された場合、第１の秘密鍵及び第１の公開鍵を生成する第１の鍵生成部と、前記サーバ秘密鍵を用いて、前記第１の公開鍵の署名値を生成する署名生成部と、を有し、前記車載システムは、サーバ公開鍵を含む公開鍵証明書を格納する第２の記憶部と、前記公開鍵証明書を用いて、前記サーバから受信した第１の公開鍵及び署名値を検証する署名検証部と、前記検証の結果、前記第１の公開鍵と署名値との組み合わせが正当である場合、第２の秘密鍵及び第２の公開鍵を生成する第２の鍵生成部と、を有する。
【発明の効果】
【００１０】
本発明の一態様によれば、サーバと事前に秘密情報を持たない車載システムとの間で、安全に新しい秘密情報を交換できる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】実施例１の情報共有システムの全体構成を示すブロック図である。
【図２】実施例１の管理サーバの概略を示すブロック図である。
【図３】実施例１の車載システムの概略を示すブロック図である。
【図４】実施例１のサービス端末の概略を示すブロック図である。
【図５】実施例１の車両状態管理ＤＢの概略を示す説明図である。
【図６】実施例１の車両と管理サーバとが秘密情報を交換する処理のフローチャートである。
【図７】実施例１の鍵交換フラグ設定フェーズのフローチャートである。
【図８】実施例１の鍵交換フェーズの手順を示すフローチャートである。
【図９】実施例２の情報共有システムの全体構成を示すブロック図である。
【図１０】実施例２の鍵交換フラグ設定フェーズの手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
サーバと、事前に秘密情報を格納していない車両（車載システム）とが、ネットワーク上で安全に秘密情報を交換できるシステムの実施の形態を説明する。
【実施例１】
【００１３】
図１は、実施例１の情報共有システムの全体構成を示すブロック図である。
【００１４】
実施例１の情報共有システムは、管理サーバ２００、車載システム３００及びサービス端末４００を含む。
【００１５】
実施例１における管理サーバ２００と車載システム３００とは、第１のネットワーク１００を介して接続される。また、サーバと、サービス端末４００とは、第２のネットワーク１１０を介して接続される。なお、第１のネットワーク１００と第２のネットワーク１１０とは、異なるネットワークであるとは限らず、同一のネットワークでもよい。
【００１６】
車載システム３００は、車両（例えば、自動車）が有する計算機システムに実装される。管理サーバ２００は、計算機システムに実装される。サービス端末４００は、計算機システムに実装される。
【００１７】
第１のネットワーク１００は、無線ネットワークを含んでもよい。第２のネットワーク１１０は、無線ネットワークを含んでもよく、また、有線ネットワークのみでもよい。
【００１８】
図２は、実施例１の管理サーバ２００の概略を示すブロック図である。
【００１９】
図示するように、管理サーバ２００は、制御部２１０と、データ送受信部２２０と、記憶部２３０と、暗号演算部２４０と、構成判定部２５０と、を備える。
【００２０】
管理サーバ２００は、制御部２１０によって制御され、データ送受信部２２０を介して、第１のネットワーク１００、及び、第２のネットワーク１１０に接続する。
【００２１】
記憶部２３０は、データを格納することができ、具体的には、管理サーバ秘密鍵２３１と、管理サーバ公開鍵証明書２３２と、車両状態管理ＤＢ５００とを格納する。
【００２２】
管理サーバ公開鍵証明書２３２は、管理サーバ公開鍵を含む。管理サーバ公開鍵証明書２３２に含まれる管理サーバ公開鍵は、管理サーバ秘密鍵２３１と組をなし、公開鍵署名アルゴリズムによる署名を生成する際及び署名を検証する際に用いられる。
【００２３】
車両状態管理ＤＢ５００は、車両が鍵交換できる車両であるかを判定するための基準となる車両の状態を示す情報を含む。
【００２４】
暗号演算部２４０は、署名生成機能部２４１と、ＤＨ（Ｄｉｆｆｉｅ−Ｈｅｌｍａｎ）鍵生成機能部２４２と、ＤＨ秘密情報生成機能部２４３と、を備える。
【００２５】
署名生成機能部２４１は、署名対象データを与えられた場合、記憶部２３０に格納された管理サーバ秘密鍵を用いて署名生成関数Signを計算することで、署名対象データの署名値を生成する。式１は、署名生成関数Signにより生成される署名値を表す。
【００２６】
s = Sign(sk, m)                        （式１）
ここで、skは管理サーバ秘密鍵２３１、mは署名対象データ、sは署名値を表す。
【００２７】
ＤＨ鍵生成機能部２４２は、第１のＤＨ秘密鍵及び第１のＤＨ公開鍵を、ＤＨ鍵交換アルゴリズムを用いて生成する。ＤＨ鍵生成機能部２４２は、まず、第１のＤＨ秘密鍵として０以上（p−２）以下の整数をランダムに生成し、次に、式２を計算することで、第１のＤＨ秘密鍵に対応する第１のＤＨ公開鍵を生成する。
【００２８】
y = g^x                              （式２）
ここで、xは第１のＤＨ秘密鍵、gは生成元の公開パラメータ、yは第１のＤＨ公開鍵を表す。なお、pとgとは公開されるパラメータであり、暗号演算部２４０に格納される。
【００２９】
ＤＨ秘密情報生成機能部２４３は、ＤＨ鍵交換アルゴリズムを用いて秘密情報を生成する。具体的には、ＤＨ秘密情報生成機能部２４３は、第１のＤＨ秘密鍵と第２のＤＨ公開鍵とを受け取り、式３を計算することで秘密情報を生成する。
【００３０】
z = t^x                              （式３）
ここで、xは第１のＤＨ秘密鍵、tは第２のＤＨ公開鍵、zは秘密情報である。なお、第２のＤＨ公開鍵については、後述する。
【００３１】
構成判定部２５０は、構成判定機能部２５１を備える。
【００３２】
構成判定機能部２５１は、鍵交換が必要な車両の車両構成情報を、制御部２１０から受け取り、車両状態管理ＤＢ５００にアクセスする。そして、構成判定機能部２５１は、車両状態管理ＤＢ５００の情報と、受け取った車両構成情報とを照合することにより、鍵交換の可、又は、不可を判定して、判定の結果を制御部２１０に返す。
【００３３】
構成判定機能部２５１は、受け取った車両構成情報と車両状態管理ＤＢ５００の情報とが一致した場合、鍵交換可能と判定し、一致しない場合には鍵交換不可と判定する。なお、構成判定機能部２５１は、受け取った車両構成情報と車両状態管理ＤＢ５００の情報とが所定の条件を満たす場合、一致すると判定してもよい。詳細は後述する。
【００３４】
管理サーバ２００は、プロセッサ、メモリ、記憶装置、及び、通信インタフェースを有する計算機によって構成される。
【００３５】
管理サーバ２００のプロセッサは、メモリに格納されたプログラムを実行することによって、前述の制御部２１０、暗号演算部２４０及び構成判定部２５０を構成する。
【００３６】
管理サーバ２００のメモリは、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００３７】
管理サーバ２００の記憶装置は、記憶部２３０を構成する。管理サーバ２００の記憶装置は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置によって構成され、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、記憶装置から読み出されて、メモリにロードされて、プロセッサによって実行される。
【００３８】
管理サーバ２００の通信インタフェースは、データ送受信部２２０を構成し、所定のプロトコルに従って、他の装置（サービス端末４００、車載システム３００など）との通信を制御するインタフェース装置である。
【００３９】
管理サーバ２００のプロセッサが実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して管理サーバ２００に提供され、非一時的記憶媒体である記憶装置に格納される。このため、管理サーバ２００は、リムーバブルメディアからデータを読み込むインタフェースを有するとよい。
【００４０】
管理サーバ２００は、物理的に一つの計算機上で、又は、論理的又は物理的に複数の計算機上で構成される計算機システムであり、前述したプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、管理サーバ２００は、クラウドシステムで構築されてもよい。
【００４１】
また、管理サーバ２００の制御部２１０、暗号演算部２４０及び構成判定部２５０の全部又は一部は、物理的な集積回路（例えば、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等によって構成されてもよい。
【００４２】
図３は、実施例１の車載システム３００の概略を示すブロック図である。
【００４３】
車載システム３００は、車両に搭載された計算機によって構成される。
【００４４】
図示するように、車載システム３００は、制御部３１０と、データ送受信部３２０と、記憶部３３０と、表示装置３４０と、入力装置３５０と、暗号演算部３６０と、第１のＥＣＵ（Ｅｎｇｉｎｅ−Ｃｏｎｔｒｏｌ−Ｕｎｉｔ）３７０と、第２のＥＣＵ３８０と、診断ポート３９０と、車両構成管理部３９５と、を備える。
【００４５】
車載システム３００は、制御部３１０によって制御され、データ送受信部３２０を介して、第１のネットワーク１００に繋がる。
【００４６】
制御部３１０は、動作モードとして、通常モードと鍵交換モードとの二つのモードを持つ。制御部３１０は、初期状態において、通常モードで動作し、入力装置３５０からの入力により鍵交換モードへ移行する。
【００４７】
記憶部３３０は、データを格納し、具体的には、管理サーバ公開鍵証明書２３２を格納する。また、記憶部３３０は、収集された車両構成情報を格納してもよい。
【００４８】
記憶部３３０の管理サーバ公開鍵証明書２３２は、管理サーバ２００が有する管理サーバ公開鍵証明書２３２と同じであり、管理サーバ公開鍵を含む。
【００４９】
また、本実施例の車両構成情報は、車載システム３００が設置される車両の最新の状態を示す車両情報を含む。車両構成情報は、例えば、各車両に固有のＩＤである車両ＩＤと、車載システム３００が保有する各ＥＣＵのＥＣＵ型番情報と、各ＥＣＵに搭載されるファームウェアバージョン情報と、を含む。
【００５０】
暗号演算部３６０は、署名検証機能部３６１と、ＤＨ鍵生成機能部３６２と、ＤＨ秘密情報生成機能部３６３と、を備える。
【００５１】
署名検証機能部３６１は、署名対象データと、署名対象データに対応する署名値と、を受け取る。そして、署名対象データと署名値との組の正当性を、管理サーバ公開鍵証明書２３２を用いて、署名検証関数Verifyを計算することで検証する。式４は、署名検証関数Verifyによる検証結果を表す。
【００５２】
v = Verify(cert, m, s)          （式４）
ここで、certは管理サーバ公開鍵証明書２３２、mは署名対象データ、sは署名値、vは署名検証結果を表す。Verifyは、署名検証結果として０又は１の値を返す。ここで、０は検証失敗（署名対象データと署名値との組み合わせが不正であること）、１は検証成功（署名対象データと署名値との組み合わせが正当なデータであること）を表す。
【００５３】
ＤＨ鍵生成機能部３６２は、第２のＤＨ秘密鍵及び第２のＤＨ公開鍵を、ＤＨ鍵交換アルゴリズムを用いて生成する。ＤＨ鍵生成機能部３６２は、まず、第２のＤＨ秘密鍵として０以上（p−２）以下の整数をランダムに生成し、次に、対応する第２のＤＨ公開鍵を式５を計算することで生成する。
【００５４】
t = g^u                        （式５）
ただし、ここで、uは第２のＤＨ秘密鍵、gは生成元の公開パラメータ、tは第２のＤＨ公開鍵を表す。なお、pとgとは公開されるパラメータであり、暗号演算部３６０に格納される。また、車載システム３００におけるpとgとは、管理サーバ２００の暗号演算部２４０が格納するpとgと同じである。
【００５５】
ＤＨ秘密情報生成機能部３６３は、ＤＨ鍵交換アルゴリズムを用いて秘密情報を生成する。具体的には、ＤＨ秘密情報生成機能部３６３は、第２のＤＨ秘密鍵と第１のＤＨ公開鍵とを受け取り、式６を計算することで秘密情報を生成する。
【００５６】
z = y^u                        （式６）
ここで、uは第２のＤＨ秘密鍵、yは第１のＤＨ公開鍵、zは秘密情報である。秘密情報zは、管理サーバ２００のＤＨ秘密情報生成機能部２４３が生成する秘密情報と同一である。
【００５７】
第１のＥＣＵ３７０は、第１のファームウェア３７１を有する。第２のＥＣＵ３８０は、第２のファームウェア３７２を有する。
【００５８】
なお、車載システム３００は、二つのＥＣＵを有するとは限らず、任意の数のＥＣＵを有してもよい。
【００５９】
なお、車載システム３００の制御部３１０と、データ送受信部３２０と、表示装置３４０と、入力装置３５０とは、それぞれが異なるＥＣＵによって構成されてもよい。また、一つのＥＣＵが複数の機能を構成してもよい。
【００６０】
制御部３１０を構成するＥＣＵの例としてはセントラルゲートウェイがある。データ送受信部３２０を実現するＥＣＵの例としては、ＴＣＵがある。
【００６１】
車両構成管理部３９５は、車両構成取得機能部３９６と、車両構成表示機能部３９７と、を有する。
【００６２】
車両構成取得機能部３９６は、制御部３１０を介して、車両が備える装置から車両構成情報を収集する。そして、車両構成取得機能部３９６は、収集した車両構成情報を記憶部３３０に格納してもよい。
【００６３】
車両構成表示機能部３９７は、収集された車両構成情報を、表示装置３４０に表示する。
【００６４】
車載システム３００を構成する計算機は、プロセッサ、メモリ、記憶装置、表示装置３４０、入力装置３５０、及び、通信インタフェースを有する。
【００６５】
車載システム３００のプロセッサは、メモリに格納されたプログラムを実行することによって、前述の制御部３１０、暗号演算部３６０、車両構成管理部３９５、及びデータ送受信部３２０を構成する。
【００６６】
車載システム３００のメモリは、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００６７】
車載システム３００の記憶装置は、記憶部２３０を構成する。車載システム３００の記憶装置は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置によって構成され、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、記憶装置から読み出されて、メモリにロードされて、プロセッサによって実行される。
【００６８】
車載システム３００の通信インタフェースは、データ送受信部３２０を構成し、所定のプロトコルに従って、他の装置（管理サーバ２００）との通信を制御するインタフェース装置である。
【００６９】
車載システム３００のプロセッサが実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して車載システム３００に提供され、非一時的記憶媒体である記憶装置に格納される。このため、車載システム３００は、リムーバブルメディアからデータを読み込むインタフェースを有するとよい。また、車載システム３００の機能ブロックの全部又は一部は、物理的な集積回路（例えば、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等によって構成されてもよい。
【００７０】
図４は、実施例１のサービス端末４００の概略を示すブロック図である。
【００７１】
図示するように、サービス端末４００は、制御部４１０と、データ送受信部４２０と、記憶部４３０と、表示装置４４０と、入力装置４５０と、車両構成登録部４６０と、を備える。
【００７２】
サービス端末４００は、制御部４１０によって制御され、データ送受信部４２０を介して、第２のネットワーク１１０に繋がる。
【００７３】
車両構成登録部４６０は、車両構成登録機能部４６１を備える。
【００７４】
車両構成登録機能部４６１は、表示装置４４０に車両構成登録フォームを表示し、入力装置４５０から車両構成登録フォームに入力される車両構成情報を取得する。そして、データ送受信部４２０を介して管理サーバ２００に、取得した車両構成情報を送信する。
【００７５】
実施例１におけるサービス端末４００は、例えばディーラーや、整備工場等などに設置される。サービス端末４００にログインできる者は、ディーラーや、整備工場の職員、又は、整備工員などに限られる。
【００７６】
サービス端末４００は、プロセッサ、メモリ、記憶装置、表示装置４４０、入力装置４５０、及び、通信インタフェースを備える計算機によって構成される。
【００７７】
サービス端末４００のプロセッサは、メモリに格納されたプログラムを実行することによって、前述の制御部４１０、車両構成登録部４６０、及びデータ送受信部４２０を構成する。
【００７８】
サービス端末４００のメモリは、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００７９】
サービス端末４００の記憶装置は、記憶部４３０を構成する。サービス端末４００の記憶装置は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置によって構成され、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、記憶装置から読み出されて、メモリにロードされて、プロセッサによって実行される。
【００８０】
サービス端末４００の通信インタフェースは、データ送受信部４２０を構成し、所定のプロトコルに従って、他の装置（管理サーバ２００）との通信を制御するインタフェース装置である。
【００８１】
サービス端末４００のプロセッサが実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介してサービス端末４００に提供され、非一時的記憶媒体である記憶装置に格納される。このため、サービス端末４００は、リムーバブルメディアからデータを読み込むインタフェースを有するとよい。
【００８２】
サービス端末４００は、物理的に一つの計算機上で、又は、論理的又は物理的に複数の計算機上で構成される計算機システムであり、前述したプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、サービス端末４００の機能ブロックの全部又は一部は、物理的な集積回路（例えば、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等によって構成されてもよい。
【００８３】
図５は、実施例１の車両状態管理ＤＢ５００の概略を示す説明図である。
【００８４】
車両状態管理ＤＢ５００は、車両管理テーブル５１０と、一つ又は複数の構成管理テーブル５２０と、を含む。
【００８５】
車両管理テーブル５１０は、図５に示すとおり、車両ＩＤコラム５１１と、鍵交換フラグコラム５１２と、構成管理テーブルＩＤコラム５１３と、を含む。車両管理テーブル５１０の各レコードは、一台の車両の情報に対応する。
【００８６】
車両ＩＤコラム５１１は、車両ＩＤを格納する。鍵交換フラグコラム５１２は、車両が鍵交換できる状態か否かを示すバイナリ値を保持する。本実施例において、鍵交換フラグコラム５１２が１を示す場合、車両が鍵交換できる状態であることを示し、０を示す場合、車両が鍵交換できない状態であることを示す。鍵交換フラグコラム５１２の初期設定値は、０である。
【００８７】
構成管理テーブルＩＤコラム５１３は、各車両の車載システム３００の車両構成情報を保持する構成管理テーブル５２０のＩＤを格納する。
【００８８】
構成管理テーブル５２０は、図５に示すとおり、ＥＣＵ型番コラム５２１と、ＥＣＵファームウェアバージョンコラム５２２と、を含む。構成管理テーブル５２０は、一つの車両に一つ設けられる。つまり、構成管理テーブル５２０は管理サーバ２００が管理する車両の数だけ存在する。
【００８９】
構成管理テーブル５２０の各レコードは、各車両が有する各ＥＣＵに対応する。ＥＣＵ型番コラム５２１は、ＥＣＵの型番情報を格納し、ＥＣＵファームウェアバージョンコラム５２２は、ＥＣＵファームウェアのバージョン情報を格納する。
【００９０】
図６は、実施例１の車両と管理サーバ２００とが秘密情報を交換する処理のフローチャートである。
【００９１】
スタート時において、車両は秘密情報を保持しない。車載システム３００及び管理サーバ２００が、鍵交換フラグ設定フェーズ７００と、鍵交換フェーズ８００と、を順に経ることによって、エンド時において、車両と管理サーバ２００とは、秘密情報を共有する状態となる。
【００９２】
なお、実施例１の鍵交換フラグ設定フェーズ７００を鍵交換フラグ設定フェーズ７００ａと記載し、実施例２の鍵交換フラグ設定フェーズ７００を鍵交換フラグ設定フェーズ７００ｂと記載する。
【００９３】
鍵交換フラグ設定フェーズ７００ａは、管理サーバ２００が、車両状態管理ＤＢ５００の車両管理テーブル５１０の鍵交換フラグコラム５１２を設定するフェーズである。このフェーズの手順は、図７のフローチャートに示されており、後述する。
【００９４】
鍵交換フェーズ８００は、管理サーバ２００と車載システム３００とが、鍵を交換するフェーズである。このフェーズの手順は、図８のフローチャートに示されており、後述する。
【００９５】
実施例１において、鍵交換フラグ設定フェーズ７００ａ及び鍵交換フェーズ８００は、サービス端末４００が設置される場所の近くに、車両が存在するときに実行される。これは、サービス端末４００を操作するサービス端末利用者が、サービス端末４００を操作しつつ、車両から情報を直接取得するためである。この目的を果たせるような位置に車両が存在すれば、車両はいずれの場所に存在してもよい。
【００９６】
サービス端末利用者は、鍵交換フラグ設定フェーズ７００ａと鍵交換フェーズ８００とにおいて、人による操作が必要な手順を行う。サービス端末利用者は、サービス端末４００に正当にログインすることのできるユーザである。
【００９７】
図７は、実施例１の鍵交換フラグ設定フェーズ７００ａのフローチャートである。
【００９８】
まず、車載システム３００は、車両に物理的にアクセスするサービス端末利用者に車両構成情報を確認させるため、車両構成管理部３９５を利用して、車両構成情報を表示装置３４０に表示する（ステップ７０１）。
【００９９】
サービス端末利用者は、サービス端末４００の車両構成登録部４６０を利用して、車載システム３００の表示装置３４０に表示される車両構成情報を、サービス端末４００に登録する。これにより、サービス端末４００は車両の構成情報を取得する（ステップ７０２）。
【０１００】
サービス端末４００の制御部４１０は、データ送受信部４２０を介して、登録された車両構成情報を管理サーバ２００に送信する（ステップ７０３）。データ送受信部２２０は、車両構成情報を受け付ける。
【０１０１】
管理サーバ２００の制御部２１０は、データ送受信部２２０を介して取得した車両構成情報を、構成判定部２５０に送る。構成判定部２５０の構成判定機能部２５１は、受け取った車両構成情報と車両状態管理ＤＢ５００にアクセスして得る情報とを照合することによって、鍵交換の可又は不可を判定する（ステップ７０４）。
【０１０２】
具体的には、構成判定機能部２５１は、受け取った車両構成情報と、当該車両構成情報に対応する車両の構成管理テーブル５２０の情報とが一致するかを判定し、一致する場合に鍵交換が可能であると判定する。
【０１０３】
図５に示す例によれば、車両構成情報は、ＥＣＵのファームウェアのバージョンを示す。構成判定機能部２５１は、構成管理テーブル５２０が示すＥＣＵのファームウェアのバージョンと車両構成情報が示すＥＣＵのファームウェアのバージョンとが一致した場合、鍵交換が可であると判定する。
【０１０４】
なお、前述の構成判定機能部２５１は、受け取った車両構成情報と車両状態管理ＤＢ５００の情報とが一致した場合に、鍵交換が可能であると判定するが、判定方法はこれに限らない。例えば、車両ＩＤがvidである車両の車両構成情報をvconfで表し、車両状態管理ＤＢ５００のなかで、車両ＩＤ５１１がvidを示すレコードの構成管理テーブルＩＤコラム５１３に対応する構成管理テーブル５２０の情報をdb_vidで表し、判定結果をdecで表した場合、構成判定機能部２５１は、以下の式７の判定関数fを用いて、鍵交換可又は不可を判定してもよい。
【０１０５】
dec = f(vconf, db_vid)                    （式７）
ここで、関数fは０又は１を返すバイナリ関数である。また、構成判定機能部２５１は、関数ｆが０を返す場合、鍵交換不可であると判定し、関数ｆが１を返す場合、鍵交換可能であると判定する。
【０１０６】
例えば、vconfとdb_vidとに含まれるＥＣＵ型番が全て一致し、かつ、vconfに含まれるＥＣＵバージョンがdb_vidに含まれるＥＣＵバージョンと同じ又は新しい場合のみ、関数fは、１を返し、それ以外の場合、関数ｆは、０を返すとよい。これにより、管理サーバ２００は、車両状態管理ＤＢ５００に格納される車両構成情報と比べて、車両のＥＣＵファームウェアバージョンが同じか新しくなる場合のみ、車両との鍵交換を許可することができる。
【０１０７】
また、関数fにおいて用いられるパラメータvconf及びdb_vidは、前述のＥＣＵファームウェアバージョンのような車両構成情報だけに限られない。例えば、車両の位置情報を用いて、鍵交換の可又は付加を判定してもよい。具体階的には、vconfは、車両の最新の位置を示す位置情報を含み、db_vidは、鍵交換を行うのに適切な位置（例えば、鍵交換が正規に許可されている位置）を特定するための情報などを含むことができる。そして、関数fは、車両の最新の位置が、ディーラー又は整備工場といった、鍵交換を行うのに適切な特定の場所ではない場合、他の車両構成情報にかかわらず、０を返してもよい。
【０１０８】
これにより、管理サーバ２００の構成判定機能部２５１は、ディーラー又は整備工場といった鍵交換に適切な特定の場所に車両が存在するか否かを判定し、適切な場所に車両が存在しない場合、その車両と鍵交換を行えないように制限できる。そして、これによって、管理サーバ２００は、盗難された車両と鍵交換を行えないように制限できる。さらに、車両のネットワークへの接続を禁止できるので、車両による情報の取得を制限でき、自動運転が不可となる。このため、車両の使用を制限できる。
【０１０９】
なお、車両が、車両構成情報（vconf）に含まれる位置情報から、鍵交換に適切な場所を基準として所定の誤差の範囲にあることを示す場合、関数ｆは、１を返してもよい。これにより、管理サーバ２００は、車両から取得される車両構成情報の位置情報が、低い精度により生成された情報であっても、正確に鍵交換の可又は不可を判定できる。
【０１１０】
構成判定機能部２５１がステップ７０４において鍵交換が可能であると判定した場合、制御部２１０は、車両状態管理ＤＢ５００の車両管理テーブル５１０の該当する車両のレコードの鍵交換フラグコラム５１２を１に設定する（ステップ７０５）。ステップ７０５の後、鍵交換フラグ設定フェーズ７００ａは終了する。
【０１１１】
構成判定機能部２５１がステップ７０４において鍵交換不可であると判定した場合、制御部２１０は、車両状態管理ＤＢ５００の車両管理テーブル５１０の該当する車両のレコードの鍵交換フラグコラム５１２を０に設定する（ステップ７１０）。ステップ７１０の後、鍵交換フラグ設定フェーズ７００ａは終了する。
【０１１２】
図８は、実施例１の鍵交換フェーズ８００の手順を示すフローチャートである。
【０１１３】
まず、車載システム３００は、サービス端末利用者による入力装置３５０を介した操作により、鍵交換モードに移る（ステップ８０１）。
【０１１４】
ステップ８０１の後、車載システム３００の制御部３１０は、データ送受信部３２０を介して、鍵交換要求メッセージを管理サーバ２００に送信する（ステップ８０２）。なお、ここで、鍵交換要求メッセージは、送信元の車両の車両ＩＤを含む。
【０１１５】
管理サーバ２００の制御部２１０は、車両状態管理ＤＢ５００の車両管理テーブル５１０から、車両ＩＤ５１１が鍵交換要求メッセージを送ってきた車両を示すレコードの、鍵交換フラグコラム５１２の値を取得する（ステップ８０３）。
【０１１６】
ステップ８０３で、鍵交換フラグが１である場合、車両は鍵交換可能であるため、管理サーバ２００の制御部２１０は、暗号演算部２４０のＤＨ鍵生成機能部２４２を用いて、第１のＤＨ秘密鍵と、第１のＤＨ公開鍵とを生成する（ステップ８０４）。
【０１１７】
具体的には、ＤＨ鍵生成機能部２４２は、前述した方法を用いて第１のＤＨ秘密鍵（x）をランダムに生成し、前述の式２と公開パラメータgとを用いて、第１のＤＨ公開鍵（y）を生成する。
【０１１８】
管理サーバ２００の制御部２１０は、暗号演算部２４０の署名生成機能部２４１を用いて、第１のＤＨ公開鍵に対する署名値を生成する（ステップ８０５）。署名生成機能部２４１は、第１のＤＨ公開鍵を署名対象データ（m）とし、さらに、管理サーバ秘密鍵２３１（sk）及び式１を用いて署名値（s）を生成する。
【０１１９】
管理サーバ２００の制御部２１０は、データ送受信部２２０を介して、第１のＤＨ公開鍵と、第１のＤＨ公開鍵の署名値と、を車載システム３００に送信する（ステップ８０６）。
【０１２０】
車載システム３００の制御部３１０は、データ送受信部３２０を介して、第１のＤＨ公開鍵とその署名値とを取得し、暗号演算部３６０の署名検証機能部３６１を用いて、署名値を検証する（ステップ８０７）。署名検証機能部３６１は、第１のＤＨ公開鍵を署名対象データ（m）とし、さらに、第１のＤＨ公開鍵の署名値（s）、管理サーバ公開鍵証明書２３２（cert）、及び、式４を用いて、署名値を検証する。
【０１２１】
ステップ８０７において、署名検証が成功した場合、すなわち、第１のＤＨ公開鍵及び署名値の組み合わせが正当なものであると判定された場合、車載システム３００の制御部３１０は、暗号演算部３６０のＤＨ鍵生成機能部３６２を用いて、第２のＤＨ秘密鍵と、第２のＤＨ公開鍵とを生成する（ステップ８０８）。ＤＨ鍵生成機能部３６２は、前述した方法を用いて第２のＤＨ秘密鍵（u）をランダムに生成し、公開パラメータgと前述の式５とを用いて、第２のＤＨ公開鍵（t）を生成する。
【０１２２】
車載システム３００の制御部３１０は、データ送受信部３２０を介して、生成した第２のＤＨ公開鍵を、管理サーバ２００に送信する（ステップ８０９）。そして、車載システム３００は、暗号演算部３６０のＤＨ秘密情報生成機能部３６３を用いて、第１のＤＨ公開鍵と第２のＤＨ秘密鍵とから、秘密情報を生成する（ステップ８１０）。
【０１２３】
ＤＨ秘密情報生成機能部３６３は、第１のＤＨ公開鍵（y）と第２のＤＨ秘密鍵（u）と式６とを用いて、秘密情報（z）を生成する。
【０１２４】
管理サーバ２００の制御部２１０は、データ送受信部２２０を介して、車載システム３００から第２のＤＨ公開鍵を取得し、暗号演算部２４０のＤＨ秘密情報生成機能部２４３を用いて、第２のＤＨ公開鍵と第１のＤＨ秘密鍵とから、秘密情報を生成する（ステップ８１１）。ＤＨ秘密情報生成機能部２４３は、第１のＤＨ秘密鍵（x）と第２のＤＨ公開鍵（t）と式３とを用いて、秘密情報（z）を生成する。
【０１２５】
ステップ８１０及びステップ８１１において生成される秘密情報は、同じであるため、管理サーバ２００及び車載システム３００は、ステップ８１０及びステップ８１１によって新たな秘密情報を安全に共有できる。
【０１２６】
管理サーバ２００の制御部２１０は、データ送受信部２２０を介して、鍵交換確認メッセージを車載システム３００に送信する。そして、制御部２１０は、車両状態管理ＤＢ５００の車両管理テーブル５１０において、第２のＤＨ公開鍵の送信元の車両に対応するレコードの鍵交換フラグコラム５１２を０に更新する（ステップ８１２）。
【０１２７】
車載システム３００の制御部３１０は、データ送受信部３２０を介して、管理サーバ２００から鍵交換確認メッセージを受け取り、鍵交換モードを解除し、通常モードに移行する（ステップ８１３）。ステップ８１３の後、鍵交換フェーズ８００が終了する。
【０１２８】
ステップ８０３において、鍵交換フラグコラム５１２が０である場合、管理サーバ２００の制御部２１０は、データ送受信部２２０を介して、鍵交換不可のメッセージを車載システム３００に送信する（ステップ８２０）。
【０１２９】
車載システム３００の制御部３１０は、データ送受信部３２０を介して、管理サーバ２００から鍵交換不可のメッセージを受け取った場合、鍵交換モードを解除し、通常モードに移行する（ステップ８２１）。ステップ８２１の後、鍵交換フェーズ８００が終了する。
【０１３０】
ステップ８０７において、署名検証が失敗した場合、すなわち、第１のＤＨ公開鍵及び署名値の組み合わせが不正なものであると判定された場合、車載システム３００の制御部３１０は、データ送受信部３２０を介して、鍵交換不可のメッセージを管理サーバ２００に送信する。そして、鍵交換モードを解除し、通常モードに移行する（ステップ８３０）。
【０１３１】
管理サーバ２００の制御部２１０は、データ送受信部２２０を介して、鍵交換不可のメッセージを受け取った場合、車両状態管理ＤＢ５００の車両管理テーブル５１０において、鍵交換不可のメッセージの送信元の車両に対応するレコードの鍵交換フラグコラム５１２を０に更新する（ステップ８３１）。ステップ８３１の後、鍵交換フェーズ８００が終了する。
【０１３２】
本実施例における管理サーバ２００と車両との間での秘密情報の交換が安全である理由を説明する。安全な秘密情報の交換を実行するためには、鍵交換フェーズ８００時における管理サーバ２００と車両とがともに正しいものであることが必要となる。
【０１３３】
まず、鍵交換フェーズ８００時の車両が正しいものであることを説明する。鍵交換フェーズ８００では、秘密情報が車両へ格納される。このため、車両に対応する鍵交換フラグコラム５１２が１に設定される必要がある。鍵交換フラグコラム５１２の１への設定は、鍵交換フラグ設定フェーズ７００ａでのみ行える。
【０１３４】
鍵交換フラグ設定フェーズ７００ａにおいて、鍵交換フラグコラム５１２を１に設定する際には、サービス端末４００にアクセスできるディーラー及び整備工場の職員及び整備工員が、サービス端末利用者として、サービス端末４００に車両構成情報を登録する。そして、サービス端末利用者は、登録した車両構成情報が車両状態管理ＤＢ５００と整合することを確かめる。
【０１３５】
ディーラー及び整備工場の職員及び整備工員は、車両に物理的にアクセスし、車両構成管理部３９５を利用することで、車両構成情報を取得する。
【０１３６】
従って、ディーラー及び整備工場の職員及び整備工員が正しい行いをすると信頼できるならば、鍵交換フラグコラム５１２は、偽の車両及び不正改造された車両ではない正当な車両に対してのみ１と設定される。つまり、実施例１の鍵交換フラグ設定フェーズ７００ａ及び鍵交換フェーズ８００は、車両が鍵交換を行なうべき正しいものであることを保証できる。
【０１３７】
次に、鍵交換フェーズ８００時の管理サーバ２００が、車両と鍵交換を行うべき正しいサーバであることを説明する。管理サーバ２００への秘密情報の格納は、鍵交換フェーズ８００で実行される。鍵交換フェーズ８００において管理サーバ２００は、第１のＤＨ公開鍵に、管理サーバ秘密鍵２３１を用いて生成された署名値を付加し、車載システム３００に送付する。
【０１３８】
そして、車載システム３００は、管理サーバ公開鍵証明書２３２と送信されたデータとを用いて、第１のＤＨ公開鍵及び署名値を検証する。このため、鍵交換フェーズ８００における処理は、車載システム３００が正しい管理サーバ２００と秘密情報を交換することを保証する。
【０１３９】
以上により、実施例１において、管理サーバ２００と車載システム３００とは、鍵交換をする対象として正しいことを相互に保証でき、新しい秘密情報を安全に共有することができる。特に、実施例１においては、車両構成情報を、ディーラーの職員等が入力するため、第三者からの通信のなりすましを防ぐことができ、安全な鍵交換が可能である。
【０１４０】
なお、本実施例において、鍵交換フラグ設定フェーズ７００ａと鍵交換フェーズ８００とにおいて、人による操作が必要な手順は、サービス端末利用者が操作を行うが、例えば車両の運転者及び所有者が、鍵交換フェーズ８００における操作を行ってもよい。
【０１４１】
この場合、管理サーバ２００の制御部２１０は、鍵交換フラグ設定フェーズ７００ａで１に設定された鍵交換フラグコラム５１２を、設定後の一定時間の経過後に０に変更してもよい。これにより、鍵交換フェーズ８００を実行可能な期間を制限することができ、鍵交換フラグ設定フェーズ７００ａと鍵交換フェーズ８００との間で、車両が入れ替えられる危険を低減でき、鍵交換の安全性を高めることができる。
【０１４２】
なお、前述の車載システム３００の記憶部３３０は、管理サーバ公開鍵証明書２３２を格納したが、管理サーバ公開鍵証明書２３２の代わりにルート証明書を格納してもよい。この場合、ステップ８０６において管理サーバ２００の制御部２１０は、第１のＤＨ公開鍵と、その署名値と、さらに、管理サーバ公開鍵証明書２３２とを車載システム３００に送信する。
【０１４３】
そして、ステップ８０７において車載システム３００の署名検証機能部３６１は、まず、送られた管理サーバ公開鍵証明書２３２をルート証明書により検証し、検証の結果、正当な管理サーバ公開鍵証明書２３２である場合、第１のＤＨ公開鍵の署名値を管理サーバ公開鍵証明書２３２により検証する。
【０１４４】
なお、本実施の情報共有システムは、鍵交換アルゴリズムとしてＤＨ鍵交換アルゴリズムを利用するが、これに限らず、いかなる鍵交換アルゴリズムを利用してもよい。他の例として、例えば、ＥＣＤＨ鍵交換アルゴリズムが挙げられる。
【０１４５】
その場合、管理サーバ２００のＤＨ鍵生成機能部２４２と車載システム３００のＤＨ鍵生成機能部３６２とは、各々、ＥＣＤＨ鍵生成機能部に相当し、管理サーバ２００のＤＨ秘密情報生成機能部２４３と車載システム３００のＤＨ秘密情報生成機能部３６３とは、各々、ＥＣＤＨ秘密情報生成機能に相当する。
【０１４６】
ＤＨ鍵交換アルゴリズムを利用することによって、本実施例の情報共有システムは、既存の公開鍵暗号アルゴリズムを用いて、より安全に鍵交換を行い、秘密情報を共有することが可能である。
【０１４７】
なお、本実施例では、管理サーバ２００と車載システム３００の鍵交換によって、秘密情報が共有されるが、管理サーバ２００と車載システム３００とは、この秘密情報から共通鍵を生成することにより、共通鍵暗号技術による相互に安全な暗号通信を行うことができる。また、この共通鍵による暗号通信を用いて、管理サーバ２００は、車載システム３００に公開鍵暗号アルゴリズムの秘密鍵を送信できる。
【０１４８】
なお、本実施例における車載システム３００の鍵交換モードにおいて、管理サーバ２００と車載システム３００とが鍵を交換するだけでなく、鍵交換の後に、車載システム３００が安全に行うべき処理を実行してもよい。
【０１４９】
例えば、この処理には、制御部３１０から各ＥＣＵへの暗号鍵の配布処理が挙げられる。鍵交換モードは、鍵交換フェーズ８００における車載システム３００のモードであり、前述したとおり、車載システム３００はその正当性が確保される。そのため、鍵交換モード時に行う処理は安全に実行できる。
【実施例２】
【０１５０】
実施例２は、実施例１における鍵交換フラグ設定フェーズ７００ａの手順を変更した実施例である。
【０１５１】
図９は、実施例２の情報共有システムの全体構成を示すブロック図である。
【０１５２】
実施例２において、管理サーバ２００と車載システム３００とは、第１のネットワーク１００を介して接続する。実施例２のシステムは、管理サーバ２００と、車載システム３００と、第１のネットワークと、を含む。実施例２の情報共有システムは、実施例１と異なり、サービス端末４００を含まない。
【０１５３】
実施例２の管理サーバ２００と、車載システム３００と、第１のネットワークとは、実施例１と同じ機能、及び機能部を有する。
【０１５４】
実施例２において、車載システム３００の制御部３１０は、動作モードとして、通常モード、構成確認モード及び鍵交換モードの三つのモードを持つ。初期モードは通常モードであり、構成確認モード及び鍵交換モードへは入力装置３５０からの入力により移行する。
【０１５５】
実施例２の車両に秘密情報を格納するまでの時系列手順は、実施例１と同様に、図６に示す手順である。実施例２の情報共有システムは、鍵交換フラグ設定フェーズ７００ａの代わりに鍵交換フラグ設定フェーズ７００ｂを実行する。
【０１５６】
実施例２の鍵交換フラグ設定フェーズ７００ｂの手順を、図１０のフローチャートに示す。実施例２の鍵交換フェーズ８００の手順を、実施例１と同じく図８のフローチャートに示す。
【０１５７】
図１０は、実施例２の鍵交換フラグ設定フェーズ７００ｂの手順を示すフローチャートである。
【０１５８】
まず、車両管理者は、車載システム３００の入力装置３５０を介して、車載システム３００を構成情報確認モードに移行するための操作を行う。この操作が行われた場合、車載システム３００は、構成情報確認モードに移行する（ステップ１００１）。
【０１５９】
車載システム３００の制御部３１０は、車両構成管理部３９５を利用して、車載システム３００の車両構成情報を収集する（ステップ１００２）。
【０１６０】
車載システム３００の制御部３１０は、データ送受信部３２０を介して、車両構成情報を管理サーバ２００に送信する（ステップ１００３）。データ送受信部２２０は、車両構成情報を受け付ける。
【０１６１】
管理サーバ２００の制御部２１０は、データ送受信部２２０を介して取得した車両構成情報を構成判定部２５０に送る。構成判定機能部２５１は、送られた車両構成情報と、車両状態管理ＤＢ５００のデータとを用いて、鍵交換の可又は不可を判定する（ステップ１００４）。ステップ１００４は、ステップ７０４と同じである。
【０１６２】
構成判定機能部２５１がステップ１００４において鍵交換可であると判定した場合、制御部２１０は、車両状態管理ＤＢ５００の車両管理テーブル５１０の該当する車両のレコードの鍵交換フラグコラム５１２を１に設定する（ステップ１００５）。ステップ１００５は、ステップ７０５と同じである。
【０１６３】
そして、管理サーバ２００の制御部２１０は、鍵交換フラグコラム５１２の変更結果を、データ送受信部２２０を介して、車載システム３００に送信する（ステップ１００６）。
【０１６４】
車載システム３００は、データ送受信部３２０を介して、鍵交換フラグコラム５１２の変更結果を受信し、構成情報確認モードを解除し、通常モードに移行する（ステップ１００７）。
【０１６５】
構成判定機能部２５１がステップ１００４において鍵交換不可であると判定した場合、制御部２１０は、車両状態管理ＤＢ５００の車両管理テーブル５１０の該当する車両のレコードの鍵交換フラグを０に設定する（ステップ１０１０）。ステップ１０１０は、ステップ７１０と同じである。ステップ１０１０の後、制御部２１０は、ステップ１００６に進む。
【０１６６】
前述において、ステップ８０１でサービス端末利用者により車載システム３００が鍵交換モードに変更される、としたが、実施例２における３００の鍵交換モードへの移行方法はこれに限らない。
【０１６７】
例えば、ステップ１１０７において車載システム３００は、鍵交換フラグコラム５１２の変更結果を受信し、構成情報確認モードを解除した後、通常モードでなく鍵交換フェーズに移行してもよい。そして、車載システム３００は、ステップ８０２に直接進んでもよい。
【０１６８】
実施例２において、鍵交換フラグ設定フェーズ７００ｂと鍵交換フェーズ８００とは、サービス端末４００と車両とがディーラー及び整備工場といった特定の場所に存在する場合以外にも、実行されてよい。これは、実施例２の手順において、サービス端末４００が不要であるためである。
【０１６９】
前述の実施例１及び実施例２によれば、本実施例の情報共有システムは、車両構成情報に基づいて鍵交換の可能又は不可能を判定するため、より安全に鍵交換が可能である。そして、これにより、事前に共有していない新たな秘密情報を、管理サーバ２００と車載システム３００との間でより安全に共有できる。
【０１７０】
特に実施例２によれば、ステップ１００１において、車載システム３００の構成情報確認モードへの移行操作のアクセス制御を行うことにより、サービス端末４００を用いることなく、車載システム３００と管理サーバ２００との間で安全に鍵交換を行うことができる。
【０１７１】
そして、サービス端末４００を用いることがないため、ディーラー等の職員等による作業を減らすことができる。
【０１７２】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１７３】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１７４】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１７５】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１７６】
１００  第１のネットワーク
１１０  第２のネットワーク
２００  管理サーバ
２１０  制御部
２２０  データ送受信部
２３０  記憶部
２４０  暗号演算部
２５０  構成判定部
３００  車載システム
４００  サービス端末
【図１】
2018007049.tif 000003
【図２】
2018007049.tif 000004
【図３】
2018007049.tif 000005
【図４】
2018007049.tif 000006
【図５】
2018007049.tif 000007
【図６】
2018007049.tif 000008
【図７】
2018007049.tif 000009
【図８】
2018007049.tif 000010
【図９】
2018007049.tif 000011
【図１０】
2018007049.tif 000012