(57)【要約】【課題】車両メーカごとに異なる複数の車両鍵を汎用スキャンツールにセキュアに配信できるシステムを提供する。【解決手段】車両鍵配信システム１は，ＳＩＭ３を実装した汎用スキャンツール２と，管理サーバ４と，車両メーカサーバ５を備える。汎用スキャンツール２は，管理サーバ４と相互認証を行い，管理サーバ４との間でセキュアな通信セッションを確立した後，車両メーカ証明書５５を管理サーバ４から取得する。また，汎用スキャンツール２は，車両メーカサーバ５と相互認証を行い，車両メーカサーバ５との間でセキュアな通信セッションを確立した後，車両鍵６１を車両メーカサーバ５から取得する。汎用スキャンツール２は，複数の車両メーカ証明書５５を管理サーバ４から取得し，複数の車両メーカサーバ５から複数の車両鍵６１を取得することで，ＳＩＭ３に複数の車両メーカに係る車両鍵を登録できる。【選択図】図１
2019161521.tif 000002
【特許請求の範囲】
【請求項１】
車両メーカ証明書を複数の車両メーカごとに記憶している管理サーバと，車両メーカの車両に搭載したＥＣＵへアクセスするための車両鍵を記憶している車両メーカサーバと，セキュアエレメントを実装している汎用スキャンツールを備えるシステムであって，
前記管理サーバは，前記管理サーバが記憶している管理サーバ証明書と，前記汎用スキャンツールから受信した汎用スキャンツール証明書および前記汎用スキャンツール証明書に対する署名データを利用して，前記汎用スキャンツールと相互認証し，前記汎用スキャンツールとの間でセッション鍵により通信内容を暗号化するセキュアな通信セッションを確立する手段を備え，
前記車両メーカサーバは，前記汎用スキャンツールに記憶させた前記車両メーカ証明書と，前記汎用スキャンツールから受信した汎用スキャンツール証明書および前記汎用スキャンツール証明書に対する署名データを利用して，前記汎用スキャンツールと相互認証し，前記汎用スキャンツールとの間で前記通信セッションを確立する手段を備え，
前記セキュアエレメントは，前記汎用スキャンツール証明書に記された公開鍵と対になる秘密鍵を記憶し，この秘密鍵を用いて，前記汎用スキャンツール証明書に対する署名データを生成する機能を備え，
前記汎用スキャンツールは，前記管理サーバから受信した前記管理サーバ証明書と，前記汎用スキャンツール証明書と前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，前記管理サーバと相互認証し，前記管理サーバとの間で前記通信セッションを確立する管理サーバ用通信手段と，前記セキュアな通信セッションを確立した前記管理サーバから前記車両メーカ証明書を取得して，前記車両メーカ証明書を前記セキュアエレメントに登録する手段と，前記セキュアエレメントから読み出した前記車両メーカ証明書と，前記汎用スキャンツール証明書および前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，前記車両メーカサーバと相互認証し，前記車両メーカサーバとの間で前記セキュアな通信セッションを確立する車両メーカサーバ用通信手段と，前記セキュアな通信セッションを確立した前記車両メーカサーバから前記車両鍵を取得して前記セキュアエレメントに登録する手段を備え，
ていることを特徴とする車両鍵配信システム。
【請求項２】
前記汎用スキャンツールが備える車両メーカサーバ用通信手段は，セキュアな通信セッションで用いるセッション鍵が，セキュアな通信セッションを確立するごとに使い捨てされるように，前記車両メーカサーバとの間でセキュアな通信セッションを確立することを特徴とする，請求項１に記載した車両鍵配信システム。
【請求項３】
前記汎用スキャンツールに実装する前記セキュアエレメントをＳＩＭとしたことを特徴とする，請求項１または２に記載した車両鍵配信システム。
【請求項４】
セキュアエレメントを実装した汎用スキャンツールであって，
前記セキュアエレメントは，汎用スキャンツール証明書に記された公開鍵と対になる秘密鍵を記憶し，この秘密鍵を用いて，前記汎用スキャンツール証明書に対する署名データを生成するコマンドを備え，
前記汎用スキャンツールは，車両メーカ証明書を複数の車両メーカごとに記憶している管理サーバから受信した管理サーバ証明書と，汎用スキャンツール証明書および前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，前記汎用スキャンツールと相互認証し，前記管理サーバとの間でセッション鍵により通信内容を暗号化するセキュアな通信セッションを確立する管理サーバ用通信手段と，前記セキュアな通信セッションを確立した前記管理サーバから前記車両メーカ証明書を取得して，前記車両メーカ証明書を前記セキュアエレメントに登録する手段と，前記セキュアエレメントから読み出した前記車両メーカ証明書と，前記汎用スキャンツール証明書および前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，車両メーカの車両に搭載したＥＣＵへアクセスするための車両鍵を記憶し，前記車両メーカ証明書に対応する車両メーカサーバと相互認証し，前記車両メーカサーバとの間で前記セキュアな通信セッションを確立する車両メーカサーバ用通信手段と，前記セキュアな通信セッションを確立した前記車両メーカサーバから，前記車両メーカサーバに対応する車両メーカが販売している車両に搭載したＥＣＵへアクセスするための暗号鍵である車両鍵を取得して前記セキュアエレメントに登録する手段を備え，
ていることを特徴とする汎用スキャンツール。
【請求項５】
前記汎用スキャンツールが備える車両メーカサーバ用通信手段は，セキュアな通信セッションで用いるセッション鍵が，セキュアな通信セッションを確立するごとに使い捨てされるように，前記車両メーカサーバとの間でセキュアな通信セッションを確立することを特徴とする，請求項４に記載した汎用スキャンツール。
【請求項６】
前記汎用スキャンツールに実装する前記セキュアエレメントをＳＩＭとしたことを特徴とする，請求項４または５に記載した汎用スキャンツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，車両の診断に用いる装置であるスキャンツールに係る発明である。
【背景技術】
【０００２】
車両（自動車）の電子制御化が進み，電子制御で利用するマイクロコンピュータであるＥＣＵ（Electronic Control Unit）が車両に搭載されるようになった。車両に搭載されるＥＣＵは一つではなく，ハイブリット車など，高度な電子制御を必要とする車両には１００個を超えるＥＣＵが搭載される。
【０００３】
車両に搭載されたＥＣＵは車外からアクセスできるように構成されている。Ｖ２Ｘ（Vehicle to Everything）に係る分野では，車外から車両のＥＣＵにアクセスする装置として，他の車両や，道路に設置されたインフラ設備（信号機，道路標識）などが想定されているが，車両に搭載されたＥＣＵへ車外からアクセスする装置としてはスキャンツールが有名である。
【０００４】
スキャンツールとは，車両に設けられた診断用ポートを介してＥＣＵと通信し，ＥＣＵから車両情報（例えば，故障コード）を読出す電子機器である。スキャンツールには，特定の車両メーカの車両にのみ対応した専用スキャンツールもあるが，現在，複数の車両メーカに対応した汎用スキャンツールの普及が進められている。
【０００５】
車両に設けられた診断用ポートを利用したＥＣＵへの不正アクセスは，ＥＣＵに対する脅威（他のＥＣＵのなりすまし，不正な書き換え等）になるため，特許文献１で開示されている発明に記載があるように，ＥＣＵは，暗号鍵である車両鍵を利用した認証機能（アクセス認証やメッセージ認証）を有している。
【０００６】
このように，ＥＣＵへの不正アクセスを防止する技術については，上述した特許文献１も含め，様々な発明が開示されているが，ＥＣＵにアクセスするスキャンツールに対するセキュリティ対策についてはほとんど講じられていないのが現状である。
【０００７】
特に，汎用スキャンツールの場合，複数の車両鍵を汎用スキャンツールに配信しなければならず，車両メーカごとに異なる複数の車両鍵を汎用スキャンツールにセキュアに配信できるスキームが必要になる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−９８７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
そこで，本発明は，車両メーカごとに異なる複数の車両鍵を汎用スキャンツールにセキュアに配信できるシステムと，このシステムで必要となる汎用スキャンツールを提供する。
【課題を解決するための手段】
【００１０】
上述した課題を解決する第１発明に係る車両鍵配信システムは，車両メーカ証明書を複数の車両メーカごとに記憶している管理サーバと，車両メーカの車両に搭載したＥＣＵへアクセスするための車両鍵を記憶している車両メーカサーバと，セキュアエレメントを実装している汎用スキャンツールを備えるシステムである。
第１発明に係る前記管理サーバは，前記管理サーバが記憶している管理サーバ証明書と，前記汎用スキャンツールから受信した汎用スキャンツール証明書および前記汎用スキャンツール証明書に対する署名データを利用して，前記汎用スキャンツールと相互認証し，前記汎用スキャンツールとの間でセッション鍵により通信内容を暗号化するセキュアな通信セッションを確立する手段を備える。
第１発明に係る前記車両メーカサーバは，前記汎用スキャンツールに記憶させた前記車両メーカ証明書と，前記汎用スキャンツールから受信した汎用スキャンツール証明書および前記汎用スキャンツール証明書に対する署名データを利用して，前記汎用スキャンツールと相互認証し，前記汎用スキャンツールとの間で前記通信セッションを確立する手段を備える。
第１発明に係る前記セキュアエレメントは，前記汎用スキャンツール証明書に記された公開鍵と対になる秘密鍵を記憶し，この秘密鍵を用いて，前記汎用スキャンツール証明書に対する署名データを生成する機能を備える。
第１発明に係る前記汎用スキャンツールは，前記管理サーバから受信した前記管理サーバ証明書と，前記汎用スキャンツール証明書と前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，前記管理サーバと相互認証し，前記管理サーバとの間で前記通信セッションを確立する管理サーバ用通信手段と，前記セキュアな通信セッションを確立した前記管理サーバから前記車両メーカ証明書を取得して，前記車両メーカ証明書を前記セキュアエレメントに登録する手段と，前記セキュアエレメントから読み出した前記車両メーカ証明書と，前記汎用スキャンツール証明書および前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，前記車両メーカサーバと相互認証し，前記車両メーカサーバとの間で前記セキュアな通信セッションを確立する車両メーカサーバ用通信手段と，前記セキュアな通信セッションを確立した前記車両メーカサーバから前記車両鍵を取得して前記セキュアエレメントに登録する手段を備える。
第１発明に係る車両鍵配信システムによれば，前記汎用スキャンツールが，複数の前記車両メーカ証明書を前記管理サーバから取得し，複数の前記車両メーカサーバにアクセスして複数の前記車両鍵を取得することで，前記汎用スキャンツールに複数の車両メーカに係る前記車両鍵を配信できる。
また，第１発明に係る車両鍵配信システムでは，セキュリティを高めるために，前記汎用スキャンツールと前記管理サーバの間，ならびに，前記汎用スキャンツールと前記車両メーカサーバの間で，セッション鍵により通信内容を暗号化する前記セキュアな通信セッションを確立することで，通信内容の盗聴や改ざんを防止できるようにしている。
また，第１発明に係る車両鍵配信システムでは，セキュリティを高めるために，前記汎用スキャンツールと前記管理サーバ，ならびに，前記汎用スキャンツールと前記車両メーカサーバがそれぞれ相互認証を行うことで，通信相手が本物であるか否かを確認できるようにしている。
更に，第１発明に係る車両鍵配信システムでは，セキュリティを高めるために，前記汎用スキャンツール証明書に対する署名データの生成を前記セキュアエレメントの内部で行うことで，前記汎用スキャンツール証明書に対する署名データの生成に用いる秘密鍵が外部に漏えいするのを防止している。
【００１１】
更に，第２発明は，第１発明において，前記汎用スキャンツールが備える車両メーカサーバ用通信手段は，前記セキュアな通信セッションで用いるセッション鍵が，前記セキュアな通信セッションを確立するごとに使い捨てされるように，前記車両メーカサーバとの間で前記セキュアな通信セッションを確立することを特徴とする。前記車両鍵は，車両に搭載したＥＣＵへアクセスするための重要なデータになるので，過去に利用したセッション鍵を再利用しないことが好適である。
【００１２】
更に，第３発明は，第１発明または第２発明において，前記汎用スキャンツールに実装する前記セキュアエレメントをＳＩＭとしたことを特徴とする。前記汎用スキャンツールから前記セキュアエレメントを着脱できるようにすることで，車両の診断内容に合わせて，車両の診断内容に適した前記汎用スキャンツールを利用できるようになる。
【００１３】
上述した課題を解決する第４発明は，セキュアエレメントを実装した汎用スキャンツールである。
第４発明に係る前記セキュアエレメントは，汎用スキャンツール証明書に記された公開鍵と対になる秘密鍵を記憶し，この秘密鍵を用いて，前記汎用スキャンツール証明書に対する署名データを生成するコマンドを備える。
第４発明に係る前記汎用スキャンツールは，車両メーカ証明書を複数の車両メーカごとに記憶している管理サーバから受信した管理サーバ証明書と，汎用スキャンツール証明書および前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，前記汎用スキャンツールと相互認証し，前記管理サーバとの間でセッション鍵により通信内容を暗号化するセキュアな通信セッションを確立する管理サーバ用通信手段と，前記セキュアな通信セッションを確立した前記管理サーバから前記車両メーカ証明書を取得して，前記車両メーカ証明書を前記セキュアエレメントに登録する手段と，前記セキュアエレメントから読み出した前記車両メーカ証明書と，前記汎用スキャンツール証明書および前記セキュアエレメントに生成させた前記汎用スキャンツール証明書に対する署名データを利用して，車両メーカの車両に搭載したＥＣＵへアクセスするための車両鍵を記憶し，前記車両メーカ証明書に対応する車両メーカサーバと相互認証し，前記車両メーカサーバとの間で前記セキュアな通信セッションを確立する車両メーカサーバ用通信手段と，前記セキュアな通信セッションを確立した前記車両メーカサーバから，前記車両メーカサーバに対応する車両メーカが販売している車両に搭載したＥＣＵへアクセスするための暗号鍵である車両鍵を取得して前記セキュアエレメントに登録する手段を備える。
第４発明は，第１発明に記載した車両鍵配信システムで必要な汎用スキャンツールに係る発明である。
【００１４】
更に，第５発明は，第４発明において，前記汎用スキャンツールが備える車両メーカサーバ用通信手段は，前記セキュアな通信セッションで用いるセッション鍵が，前記セキュアな通信セッションを確立するごとに使い捨てされるように，前記車両メーカサーバとの間で前記セキュアな通信セッションを確立することを特徴とする。第５発明は，第２発明に記載した車両鍵配信システムで必要な汎用スキャンツールに係る発明である。
【００１５】
更に，第６発明は，第５発明または第６発明において，前記汎用スキャンツールに実装する前記セキュアエレメントをＳＩＭとしたことを特徴とする。第６発明は，第３発明に記載した車両鍵配信システムで必要な汎用スキャンツールに係る発明である。
【発明の効果】
【００１６】
上述した発明によれば，車両メーカごとに異なる複数の車両鍵を汎用スキャンツールにセキュアに配信できるシステムと，このシステムで必要となる汎用スキャンツールを提供できる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係る車両鍵配信システムの構成を説明する図。
【図２】車両メーカサーバを説明する図。
【図３】管理サーバを説明する図。
【図４】汎用スキャンツールのブロック図。
【図５】車両鍵配信システムで実行される処理を説明する図。
【図６】ＴＬＳ（Transport Layer Security）の手順を説明する図。
【図７】汎用スキャンツールが備える自己診断手段の動作を説明する図。
【発明を実施するための形態】
【００１８】
ここから，本発明の好適な実施形態を記載する。なお，以下の記載は本発明の技術的範囲を束縛するものでなく，本発明の理解を助けるために記述するものである。
【００１９】
図１は，本実施形態に係る車両鍵配信システム１の構成を説明する図である。図１で図示した車両鍵配信システム１は，車両６の診断に用いる装置で複数の車両メーカに対応している汎用スキャンツール２にセキュアエレメントとしてＳＩＭ３（Subscriber Identity Module）を実装させ，車両６の診断に必要な暗号鍵である車両鍵６１を汎用スキャンツール２を配信し，汎用スキャンツール２のＳＩＭ３にセキュアに登録できるように発案されたシステムである。
【００２０】
本実施形態では，汎用スキャンツール２に実装するセキュアエレメントをＳＩＭ３としているが，汎用スキャンツール２に実装するセキュアエレメントの形態はＳＩＭ３に限定されない。セキュアエレメントの形態としては，ＳＩＭ３以外に，組み込み型のＳＩＭ３であるｅＳＩＭ（Embedded SIM），セキュリティ関連に係る暗号演算機能を提供するように設計されたマイクロチップであるＴＰＭ（Trusted Platform Module），および，セキュリティ関連に係る暗号演算機能を提供するように設計されたデバイスであるＨＳＭ（Hardware Security Module）やＨＳＭよりも構成が簡素なＳＨＥ（Secure Hardware Extension）などもあるが，汎用スキャンツール２に実装するセキュアエレメントの形態としては，汎用スキャンツール２からの取り外しが容易なＳＩＭ３が好適である。
【００２１】
図１で図示したように，実施形態に係る車両鍵配信システム１は，セキュアエレメントとしてＳＩＭ３を実装した汎用スキャンツール２と，ネットワーク７に接続しているサーバとして，自社が販売している車両６に搭載したＥＣＵ６０へのアクセスに必要な暗号鍵である車両鍵６１を記憶している車両メーカサーバ５と，車両メーカサーバ５のサーバ公開鍵が記された公開鍵証明書である車両メーカ証明書５５を車両メーカごとに記憶している管理サーバ４を備える。
【００２２】
図１で図示した車両６は，汎用スキャンツール２が接続する診断用ポート６２（ＯＢＤポート（On-Board Diagnostics））を有する。車両６を診断する際，汎用スキャンツール２は，車両６の診断用ポート６２と接続として，車両６に搭載されたＥＣＵ６０にアクセスし，ＥＣＵ６０に記憶された故障コードを読み取る。図１では，車両６に搭載されたＥＣＵ６０は一つとしているが，実際，複数のＥＣＵ６０が一台の車両６に搭載される。
【００２３】
図１で図示していないが，車両６に搭載されたＥＣＵ６０はセキュアエレメントとしてＳＨＥを有し，車両６に搭載されたＥＣＵ６０へのアクセスは，ＥＣＵ６０のＳＨＥが記憶している車両鍵６１によりセキュリティが保護される。
【００２４】
図２は，車両メーカサーバ５を説明する図である。車両メーカサーバ５は，汎用のサーバを利用して実現される装置で，車両メーカサーバ５が備えるハードウェアは汎用のサーバと同様であるため，車両メーカサーバ５が備えるハードウェアの詳細については，ここでは説明しない。
【００２５】
車両６に搭載されたＥＣＵ６０へのアクセスに必要な車両鍵６１は，ＥＣＵ６０が搭載された車両６を販売している車両メーカに対応する車両メーカサーバ５が記憶している。車両メーカサーバ５はセキュアエレメントとしてＨＳＭ５３を有し，車両メーカサーバ５が有するＨＳＭ５３は，車両メーカ証明書５５に記された車両メーカサーバ５のサーバ公開鍵と対になる車両メーカサーバ５のサーバ秘密鍵５４と，車両メーカが販売している車両６に搭載したＥＣＵ６０にアクセスするための車両鍵６１を記憶する。
【００２６】
暗号方式には共通鍵暗号方式と公開鍵暗号方式の２種類があり，車両鍵６１はいずれの方式の暗号鍵でよい。車両鍵６１が，共通鍵暗号方式の暗号鍵の場合，ＥＣＵ６０のＳＨＥが記憶している車両鍵６１と車両メーカサーバ５が記憶している車両鍵６１は同一である。車両鍵６１が，公開鍵暗号方式の暗号鍵の場合，ＥＣＵ６０のＳＨＥには車両鍵６１の秘密鍵が記憶され，車両メーカサーバ５には車両鍵６１の公開鍵が記憶される。
【００２７】
車両メーカサーバ５は，ネットワーク通信するための通信インタフェースとして，ネットワークインタフェース５０を備える。また，車両メーカサーバ５は，コンピュータプログラムにより実現される機能として，汎用スキャンツール２と相互認証し，汎用スキャンツール２との間で，セッション鍵により通信内容を暗号化するセキュアな通信セッションを確立するセキュア通信手段５１を備える。更に，車両メーカサーバ５は，コンピュータプログラムにより実現される機能として，車両メーカサーバ５とセキュアな通信セッションを確立した汎用スキャンツール２に対して，車両メーカサーバ５が記憶している車両鍵６１を配信する処理を実行する車両鍵配信手段５２を備える。
【００２８】
図３は，管理サーバ４を説明する図である。管理サーバ４は，汎用のサーバを利用して実現される装置で，管理サーバ４が備えるハードウェアは汎用のサーバと同様であるため，管理サーバ４が備えるハードウェアの詳細については，ここでは説明しない。
【００２９】
管理サーバ４はセキュアエレメントとしてＨＳＭ４３を有し，管理サーバ４が有するＨＳＭ４３は，上述している車両メーカ証明書５５を車両メーカごとに記憶する。更に，管理サーバ４は，管理サーバ４とのセキュアな通信セッションの確立に用いる暗号鍵として，管理サーバ４のサーバ公開鍵が記された公開鍵証明書である管理サーバ証明書４５と，管理サーバ４のサーバ秘密鍵４４を記憶する。
【００３０】
また，管理サーバ４は，ネットワーク通信するための通信インタフェースとして，ネットワークインタフェース４０を備える。更に，管理サーバ４は，コンピュータプログラムで実現される機能として，汎用スキャンツール２と相互認証し，汎用スキャンツール２との間でセキュアな通信セッションを確立する処理を行うセキュア通信手段４１を備える。また，管理サーバ４は，コンピュータプログラムで実現される機能として，管理サーバ４とセキュアな通信セッションを確立した汎用スキャンツール２に対して，管理サーバ４が記憶している車両メーカ証明書５５を配信する処理を行う車両メーカ証明書配信手段４２を備える。
【００３１】
図４は，汎用スキャンツール２のブロック図である。汎用スキャンツール２は，ディスプレイと操作デバイスを備えたコンピュータ機器である。汎用スキャンツール２は，ネットワーク通信するためのインタフェースであるネットワークインタフェース２０と，セキュアエレメントと通信するためのインタフェースであるセキュアエレメントインタフェース２１と，診断用ポート６２と接続するための通信インタフェースである診断用ポートインタフェース２２を備える。
【００３２】
汎用スキャンツール２が備えるネットワークインタフェース２０は，無線方式または有線方式のいずれでもよい。汎用スキャンツール２が備えるセキュアエレメントインタフェース２１は，汎用スキャンツール２に実装するセキュアエレメントに対応する。本実施形態では，セキュアエレメントとしてＳＩＭ３を汎用スキャンツール２に実装しているので，セキュアエレメントインタフェース２１は，ＩＳＯ７８１６に対応したものになる。汎用スキャンツール２が備える診断用ポートインタフェース２２は，診断用ポート６２に対応したものになる。
【００３３】
汎用スキャンツール２は，コンピュータプログラムで実現される機能として，管理サーバ４と相互認証し，管理サーバ４との間でセキュアな通信セッションを確立する管理サーバ用通信手段２３と，セキュアな通信セッションを確立した管理サーバ４から車両メーカ証明書５５を取得してＳＩＭ３に登録する車両メーカ証明書登録手段２５と，車両メーカサーバ５と相互認証し，車両メーカサーバ５との間でセキュアな通信セッションを確立する車両メーカサーバ用通信手段２４と，セキュアな通信セッションを確立した管理サーバ４から車両鍵６１を取得してＳＩＭ３に登録する車両鍵登録手段２６を備える。管理サーバ用通信手段２３と車両メーカ証明書登録手段２５は，セキュアな通信セッションを確立する点については同じであるが，セキュアな通信セッションを確立する処理の内容は異なる。
【００３４】
また，汎用スキャンツール２は，コンピュータプログラムで実現される機能として，診断用ポート６２と接続として，車両６に搭載されたＥＣＵ６０と通信し，ＥＣＵ６０に記憶された故障コードを読み取る車体診断手段２７を備える。更に，汎用スキャンツール２は，コンピュータプログラムで実現される機能として，汎用スキャンツール２の自己診断を行う自己診断手段２８を備える。
【００３５】
汎用スキャンツール２に実装したＳＩＭ３について説明する。図４では，汎用スキャンツール２に実装したＳＩＭ３が有するハードウェアとして，ＳＩＭ３を実装した装置と接続するためのインタフェースとなるＩ／Ｏポート３０と，電気的に書き換え可能な不揮発性メモリであるＮＶＭ３１（Non-volatile Memory）を図示している。当然のことながら，ＳＩＭ３には，ＣＰＵ（Central Processing Unit），メインメモリとなるＲＡＭ（Random Access Memory），電気的に書き換え不可能な不揮発性メモリであるＲＯＭ（Read Only Memory)など，図４では図示していないハードウェアを備える。
【００３６】
ＳＩＭ３が有するＮＶＭ３１には，車両メーカごとに車両メーカに対応するディレクトリ３５（以下，「メーカディレクトリ」と記す。）が生成され，このメーカディレクトリ３５の直下に，車両メーカに係る暗号鍵（ここでは，車両メーカ証明書５５と車両鍵６１）が保存される。
【００３７】
また，ＳＩＭ３が有するＮＶＭ３１には，ネットワーク７と接続しているサーバとセキュアな通信セッションを確立するときに用いる暗号鍵として，汎用スキャンツール２の公開鍵が記された公開鍵証明書である汎用スキャンツール証明書３２と，汎用スキャンツール２の秘密鍵３３を記憶する。
【００３８】
更に，ＳＩＭ３が有するＮＶＭ３１には，汎用スキャンツール２の自己診断手段２８が参照するデータとして，自己診断用ハッシュ値３４を記憶する。自己診断用ハッシュ値３４は，汎用スキャンツール２に実装されているコンピュータプログラムのプログラムコードから演算したハッシュ値である。自己診断用ハッシュ値３４には，ブートプロセスに係るプログラムコードから演算したハッシュ値，オペレーティングシステムに係るプログラムコードから演算したハッシュ値，アプリケーションプログラム（例えば，管理サーバ用通信手段２３）に係るプログラムコードから演算したハッシュ値などを含ませることができる。
【００３９】
ＳＩＭ３は，ソフトウェアにより実現されるコマンドとして，汎用スキャンツール２がセキュアな通信セッションを確立する際に用いる複数のコマンド３６を有する。このコマンドには，汎用スキャンツール２の秘密鍵３３を用いて，汎用スキャンツール証明書３２に対する署名データを生成するコマンドが含まれる。
【００４０】
ここから，本実施形態に係る車両鍵配信システム１で実行される処理について説明する。図５は，車両鍵配信システム１で実行される処理を説明する図，図６は，ＴＬＳ（Transport Layer Security）の手順を説明する図である。
【００４１】
本実施形態に係る車両鍵配信システム１では，管理サーバ４と汎用スキャンツール２の間でセキュアな通信セッションが確立され，更に，車両メーカサーバ５と汎用スキャンツール２の間でセキュアな通信セッションが確立される。セキュアな通信セッションを確立するセキュアプロトコルには様々あるが，本実施形態では，セキュアな通信セッションの確立にＴＬＳを用いている。そこで，図５の手順を説明する前に，図６を参照しながら，ＴＬＳの手順について説明する。なお，本実施形態では，図６の説明におけるクライアン８ａは汎用スキャンツール２に相当し，図６の説明におけるサーバ８ｂは管理サーバ４と車両メーカサーバ５に相当する。
【００４２】
図６で図示した手順では，まず，セッション鍵の算出に用いる乱数や暗号演算方式などを送信するメッセージであるClientHelloがクライアン８ａからサーバ８ｂに送信される（Ｓ２０）。
【００４３】
ClientHelloがクライアン８ａから送信されると，セッション鍵の算出に用いる乱数や暗号演算方式などを送信するメッセージであるServerHello（Ｓ２１），サーバ証明書を送信するメッセージであるServerCertificate（Ｓ２２），クライアント証明書の送信を要求するメッセージであるCertificateRequest（Ｓ２３），サーバ８ｂからの一連の送信の最後を示すメッセージであるServerHelloDone（Ｓ２４）が，サーバ８ｂからクライアン８ａに送信される。
【００４４】
ServerHelloDoneがサーバ８ｂから送信されると，クライアン８ａは，ServerCertificateによりサーバ８ｂから送信されたサーバ証明書を検証することで，通信相手となるクライアン８ａを認証する。サーバ証明書を検証する際，クライアン８ａは，サーバ証明書に対応する認証局を利用して，サーバ証明書に付加されている署名データを検証する。
【００４５】
サーバ証明書の検証に成功すると，クライアン８ａは，クライアント証明書を送信するメッセージであるClientCertificate（Ｓ２５），セッション鍵のシードなる情報で，サーバ公開鍵で暗号化した乱数情報を送信するメッセージであるClientKeyExchange（Ｓ２６），クライアント証明書に対する署名データを送信するメッセージであるCertificateVerify（Ｓ２７），平文による送信の終了を示すメッセージであるChangeCipherSpec（Ｓ２８），クライアン８ａからの一連の送信の最後を示すメッセージであるFinished（Ｓ２９）をサーバ８ｂへ送信する。
【００４６】
これらのメッセージが送信されると，サーバ８ｂは，ClientCertificateにより送信されたクライアント証明書を検証することで，通信相手となるクライアン８ａを認証する。クライアント証明書を検証する際，サーバ８ｂは，クライアント証明書に対応する認証局を利用して，クライアント証明書に含まれる署名データを検証し，更に，クライアント証明書に記された公開鍵を用いて，CertificateVerifyにより送信された署名データを検証する。クライアント証明書の検証に成功すると，サーバ８ｂは，平文による送信の終了を示すメッセージであるChangeCipherSpec（Ｓ３０），サーバ８ｂからの一連の送信の最後を示すメッセージであるFinished（Ｓ３１）をクライアン８ａへ送信する。
【００４７】
サーバ８ｂが，サーバ８ｂからの一連の送信の最後を示すメッセージであるFinished（Ｓ３１）をクライアン８ａへ送信した後，クライアン８ａとサーバ８ｂの間でやりとりされる通信内容は，セッション鍵により暗号化される。
【００４８】
なお，ＴＬＳの仕様では，サーバ証明書を送信するメッセージであるServerCertificate（Ｓ２２），クライアント証明書の送信を要求するメッセージであるCertificateRequest（Ｓ２３）など，図６の手順で示したメッセージの一部は省略することができる。
【００４９】
図５で図示した手順について説明する。図５で図示した手順は，管理サーバ４と汎用スキャンツール２の間でセキュアな通信セッションが確立され，汎用スキャンツール２が車両メーカ証明書５５を管理サーバ４から取得する工程Ｐ１と，車両メーカサーバ５と汎用スキャンツール２の間でセキュアな通信セッションが確立され，汎用スキャンツール２が車両鍵６１を車両メーカサーバ５から取得する工程Ｐ２を含む。
【００５０】
まず，汎用スキャンツール２が車両メーカ証明書５５を管理サーバ４から取得する工程Ｐ１について説明する。工程Ｐ１の最初では，汎用スキャンツール２の管理サーバ用通信手段２３と管理サーバ４のセキュア通信手段４１が作動し，ＴＬＳを利用して，汎用スキャンツール２と管理サーバ４の間でセキュアな通信セッションを確立する処理が実行される（Ｓ１）。
【００５１】
汎用スキャンツール２と管理サーバ４の間でセキュアな通信セッションを確立する処理（Ｓ１）では，汎用スキャンツール２と管理サーバ４の間で相互認証が実行される。汎用スキャンツール２は，管理サーバ４が送信した管理サーバ証明書４５を利用して，通信相手となる管理サーバ４を認証する。汎用スキャンツール２は，管理サーバ証明書４５を記憶していないので，管理サーバ４のセキュア通信手段４１は，ＴＬＳのServerCertificateにより管理サーバ証明書４５を汎用スキャンツール２へ送信し，汎用スキャンツール２の管理サーバ用通信手段２３は，認証局を利用して管理サーバ証明書４５を検証する。また，身元が不明な汎用スキャンツール２に車両メーカ証明書５５を送信することは危険であるため，管理サーバ４のセキュア通信手段４１は，汎用スキャンツール証明書３２および汎用スキャンツール証明書３２に対する署名データを利用して，通信相手となる汎用スキャンツール２を認証する。汎用スキャンツール２の管理サーバ用通信手段２３は，ClientCertificateにより汎用スキャンツール証明書３２を管理サーバ４へ送信し，CertificateVerifyにより汎用スキャンツール証明書３２に対する署名データを管理サーバ４へ送信する。なお，汎用スキャンツール証明書３２に対する署名データの生成には，ＳＩＭ３に実装されたコマンド３６が利用され，汎用スキャンツール２の秘密鍵はＳＩＭ３の外部へ漏洩しない。管理サーバ４のセキュア通信手段４１は，認証局を利用して，汎用スキャンツール証明書３２を検証し，汎用スキャンツール証明書３２を送付した通信相手が，汎用スキャンツール証明書３２に対応する秘密鍵を有しているか確認するために，汎用スキャンツール証明書３２で記された公開鍵を利用して署名データを検証する。
【００５２】
セキュアな通信セッションで用いるセッション鍵は，ClientKeyExchangeにより汎用スキャンツール２から管理サーバ４へ送信される乱数情報に基づいて生成される。管理サーバ４のセキュア通信手段４１は，ClientKeyExchangeによりサーバ公開鍵で暗号化された乱数情報が汎用スキャンツール２から送信されると管理サーバ４のサーバ秘密鍵４４を用いて暗号化された乱数情報を復号し，復号した乱数情報からセッション鍵を生成する。汎用スキャンツール２の管理サーバ用通信手段２３は，管理サーバ４に送信した乱数情報からセッション鍵を生成する。
【００５３】
ＴＬＳの手順においてセッション鍵は基本的に使い捨ての鍵になるが，ＴＬＳの仕様では，ClientHello（Ｓ２０）およびServerHello（Ｓ２２）にSessionIDを含ませることで，これまでに生成したセキュア鍵を再利用し，ClientCertificateまで手順を進めることができるようになっている。汎用スキャンツール２が，複数の車両メーカ証明書５５を取得する際，その都度，セキュアな通信セッションを確立すると処理時間が長くなるので，ClientHelloおよびServerHelloにSessionIDを含ませ，セッション鍵の生成を行うことなく，ChangeCipherSpec（Ｓ２８）まで手順を進めるとよい。
【００５４】
汎用スキャンツール２と管理サーバ４の間でセキュアな通信セッションが確立されると，汎用スキャンツール２の車両メーカ証明書登録手段２５は，汎用スキャンツール２のＳＩＭ３に格納する車両メーカ証明書５５に対応する車両メーカの識別子を含むメッセージである車両メーカ証明書５５の配信要求を管理サーバ４へ送信する（Ｓ２）。管理サーバ４は，車両メーカ証明書５５の配信要求を汎用スキャンツール２から受信すると，管理サーバ４の車両メーカ証明書配信手段４２は，車両メーカ証明書５５の配信要求で示される車両メーカ証明書５５を汎用スキャンツール２へ配信する（Ｓ３）。
【００５５】
車両メーカ証明書５５が管理サーバ４から配信されると，汎用スキャンツール２の車両メーカ証明書登録手段２５は，ＳＩＭ３に実装されたコマンドを利用し，管理サーバ４から配信された車両メーカ証明書５５をＳＩＭ３に保存して（Ｓ４），工程Ｐ１は終了する。なお，車両メーカ証明書５５を保存するメーカディレクトリ３５は，車両メーカ証明書５５の車両メーカに対応するメーカディレクトリ３５の直下になる。
【００５６】
管理サーバ４から配信された車両メーカ証明書５５が汎用スキャンツール２のＳＩＭ３に保存された後，汎用スキャンツール２が車両鍵６１を車両メーカサーバ５から取得する工程Ｐ２が実行される。
【００５７】
汎用スキャンツール２が車両鍵６１を車両メーカサーバ５から取得する工程Ｐ２において，まず，汎用スキャンツール２の車両メーカサーバ用通信手段２４と車両メーカサーバ５のセキュア通信手段５１が作動し，ＴＬＳを利用して，汎用スキャンツール２と車両メーカサーバ５の間でセキュアな通信セッションを確立する処理（Ｓ１０）が実行される。
【００５８】
汎用スキャンツール２と車両メーカサーバ５の間でセキュアな通信セッションを確立する処理（Ｓ１０）では，汎用スキャンツール２と車両メーカサーバ５の間で相互認証が実行されるが，汎用スキャンツール２と車両メーカサーバ５の間における相互認証の手順は，汎用スキャンツール２と管理サーバ４の間における相互認証の手順と異なる。汎用スキャンツール２は，車両メーカ証明書５５を利用して，通信相手となる車両メーカサーバ５を認証するが，この時点で，汎用スキャンツール２は，車両メーカ証明書５５を管理サーバ４から取得しているので，車両メーカサーバ５のセキュア通信手段５１は，ＴＬＳに係る処理において，車両メーカ証明書５５を汎用スキャンツール２へ送信せず，汎用スキャンツール２の車両メーカサーバ用通信手段２４は，通信相手となる車両メーカサーバ５に対応する車両メーカ証明書５５をＳＩＭ３から読み出し，認証局を利用して，ＳＩＭ３から読み出した車両メーカ証明書５５を認証する。身元が不明な汎用スキャンツール２に車両鍵６１を送信することは危険であるため，車両メーカサーバ５のセキュア通信手段５１は，汎用スキャンツール証明書３２および汎用スキャンツール証明書３２に対する署名データを利用して，通信相手となる汎用スキャンツール２を認証する。汎用スキャンツール２の車両メーカサーバ用通信手段２４は，ClientCertificate（Ｓ２５）により汎用スキャンツール証明書３２を車両メーカサーバ５へ送信し，CertificateVerify（Ｓ２７）により汎用スキャンツール証明書３２に対する署名データを車両メーカサーバ５へ送信する。なお，汎用スキャンツール証明書３２に対する署名データの生成には，ＳＩＭ３に実装されたコマンド３６が利用され，汎用スキャンツール２の秘密鍵はＳＩＭ３の外部へ漏洩しない。車両メーカサーバ５のセキュア通信手段５１は，認証局を利用して，汎用スキャンツール証明書３２を検証し，汎用スキャンツール証明書３２を送付した通信相手が，汎用スキャンツール証明書３２に対応する秘密鍵を有しているか確認するために，汎用スキャンツール証明書３２で記された公開鍵を利用して署名データを検証する。
【００５９】
セキュアな通信セッションで用いるセッション鍵は，ClientKeyExchangeにより汎用スキャンツール２から車両メーカサーバ５へ送信される乱数情報に基づいて生成される。車両メーカサーバ５のセキュア通信手段５１は，ClientKeyExchangeによりサーバ公開鍵で暗号化された乱数情報が汎用スキャンツール２から送信されると車両メーカサーバ５のサーバ秘密鍵５４を用いて暗号化された乱数情報を復号し，復号した乱数情報からセッション鍵を生成する。汎用スキャンツール２の車両メーカサーバ用通信手段２４は，車両メーカサーバ５に送信した乱数情報からセッション鍵を生成する。
【００６０】
車両鍵６１は車両のＥＣＵ６０へアクセスできる暗号鍵になるため，汎用スキャンツール２と車両メーカサーバ５の間におけるセキュアな通信セッションで利用されるセッション鍵は使い捨てであることが望ましい。よって，汎用スキャンツール２と車両メーカサーバ５の間でセキュアな通信セッションを確立する際，ClientHello（Ｓ２０）およびServerHello（Ｓ２１）にSessionIDを含ませないことが重要になる。
【００６１】
汎用スキャンツール２と車両メーカサーバ５の間でセキュアな通信セッションが確立されると，汎用スキャンツール２の車両鍵登録手段２６は，汎用スキャンツール２のＳＩＭ３に格納する車両鍵６１を要求するメッセージである車両鍵６１の配信要求を車両メーカサーバ５へ送信する（Ｓ１１）。車両メーカサーバ５の車両鍵配信手段５２は，車両鍵６１の配信要求を汎用スキャンツール２から受信すると，車両メーカサーバ５が保存している車両鍵６１を汎用スキャンツール２へ配信する（Ｓ１２）。
【００６２】
車両鍵６１が車両メーカサーバ５から配信されると，汎用スキャンツール２の車両鍵登録手段２６は，車両メーカサーバ５から配信された車両鍵６１をＳＩＭ３に保存して（Ｓ２３），工程Ｐ２は終了する。なお，車両鍵６１を保存するメーカディレクトリ３５は，車両メーカサーバ５のメーカに対応するメーカディレクトリ３５の直下になる。
【００６３】
最後に，汎用スキャンツール２が備える自己診断手段２８について説明する。図７は，汎用スキャンツール２が備える自己診断手段２８の動作を説明する図である。
【００６４】
汎用スキャンツール２が備える自己診断手段２８は，汎用スキャンツール２の起動時に起動するコンピュータプログラムで，自己診断手段２８は，まず，汎用スキャンツール２に実装されているコンピュータプログラムのプログラムコードからハッシュ値を演算し（Ｓ４０），ＳＩＭ３に記憶している自己診断用ハッシュ値と照合する（Ｓ４１）。自己診断手段２８は，ハッシュ値の照合結果により処理を分岐する（Ｓ４２）。ハッシュ値の照合に成功した場合，汎用スキャンツール２のオペレーティングシステムをブートする処理を実行し（Ｓ４２０），図７の手順は終了する。また，ハッシュ値の照合に失敗した場合，汎用スキャンツール２のオペレーティングシステムをブートする処理を中止して（Ｓ４２１），図７の手順は終了する。
【符号の説明】
【００６５】
１    車両鍵配信システム
２    汎用スキャンツール
２３  管理サーバ用通信手段
２４  車両メーカサーバ用通信手段
２５  車両メーカ証明書登録手段
２６  車両鍵登録手段
２８  自己診断手段
３    ＳＩＭ
３２  汎用スキャンツール証明書
３４  自己診断用ハッシュ値
３５  メーカディレクトリ
４    管理サーバ
４１  セキュア通信手段
４２  車両メーカ証明書配信手段
４５  管理サーバ証明書
５    車両メーカサーバ
５１  セキュア通信手段
５２  車両鍵配信手段
５５  車両メーカ証明書
６    車両
６０  ＥＣＵ
６１  車両鍵
【図１】
2019161521.tif 000003
【図２】
2019161521.tif 000004
【図３】
2019161521.tif 000005
【図４】
2019161521.tif 000006
【図５】
2019161521.tif 000007
【図６】
2019161521.tif 000008
【図７】
2019161521.tif 000009