(57)【特許請求の範囲】
【請求項１】
車両に搭載される車載通信装置、および電子制御装置、ならびに車両に搭載されない情報処理装置から構成される車載情報通信システムにおいて、
前記電子制御装置は、
前記情報処理装置と事前に共有した共通鍵が格納される電子制御装置記憶部と、
認証のためのメッセージを生成するメッセージ生成部と、
前記共通鍵を用いて、前記メッセージに関するメッセージ認証コードを生成するメッセージ認証コード生成部と、
前記メッセージ生成部が生成したメッセージ、および前記メッセージ認証コード生成部が生成したメッセージ認証コードを前記車載通信装置を経由して前記情報処理装置に送信する電子制御装置通信部と、を備え、
前記情報処理装置は、
前記共通鍵が格納される情報処理装置記憶部と、
前記共通鍵、および受信したメッセージを用いて、受信した前記メッセージ認証コードを検証することにより前記電子制御装置の認証が行われるメッセージ認証コード検証部と、
前記共通鍵を用いて、前記受信したメッセージに基づく値を対称鍵暗号により暗号化したレスポンスコードを生成するレスポンスコード生成部と、
前記メッセージ認証コード検証部における検証が成功すると、前記レスポンスコード生成部が作成したレスポンスコードを前記車載通信装置を経由して前記電子制御装置に送信する情報処理装置通信部と、を備え、
前記電子制御装置は、
前記共通鍵に基づき、受信した前記レスポンスコードを検証することにより前記情報処理装置の認証が行われるレスポンスコード検証部をさらに備える車載情報通信システム。
【請求項２】
請求項１に記載の車載情報通信システムにおいて、
前記車載通信装置は、
公開鍵暗号における公開鍵である第１の公開鍵および公開鍵暗号における秘密鍵である第２の秘密鍵が格納される車載通信装置記憶部と、
前記第２の秘密鍵を用いて前記電子制御装置から受信した前記メッセージの電子署名である第１の署名を生成する第１署名生成部と、
前記電子制御装置から受信した前記メッセージ、前記電子制御装置から受信した前記メッセージ認証コード、および前記第１署名生成部が生成した前記第１の署名を前記情報処理装置に送信する車載通信装置通信部とを備え、
前記情報処理装置の情報処理装置記憶部には、前記第１の公開鍵のペアとなる第１の秘密鍵および第２の秘密鍵のペアとなる第２の公開鍵がさらに格納され、
前記情報処理装置は、
前記第２の公開鍵、および受信した前記メッセージを用いて、受信した前記第１の署名を検証することにより前記車載通信装置の認証が行われる第１署名検証部と、
第１の乱数を生成する第１乱数生成部と、
前記第１乱数生成部が生成した第１の乱数を、前記第２の公開鍵を用いて暗号化してなる暗号化乱数を生成する暗号化部と、
前記第１の秘密鍵を用いて前記レスポンスコード生成部が作成したレスポンスコードの電子署名である第２の署名を生成する第２署名生成部と、をさらに備え、
前記レスポンスコード生成部は、前記受信したメッセージ、前記共通鍵、および前記第１の乱数に基づきレスポンスコードを生成し、
情報処理装置通信部は、前記第２の署名を前記車載通信装置に送信し、
前記車載通信装置は、
前記第１の公開鍵、および前記情報処理装置から受信したレスポンスコードを用いて、受信した前記第２の署名を検証することにより前記情報処理装置の認証が行われる第２署名検証部と、
前記第２の秘密鍵を用いて、受信した前記暗号化乱数を復号化データに復号化する復号化部とをさらに備え、
車載通信装置通信部は、
前記情報処理装置から受信した前記レスポンスコード、および前記復号化データを前記電子制御装置に送信し、
前記電子制御装置の前記レスポンスコード検証部は、前記共通鍵、および前記復号化データに基づき、受信した前記レスポンスコードを検証する車載情報通信システム。
【請求項３】
請求項１に記載の車載情報通信システムにおいて、
前記電子制御装置のメッセージ生成部は、当該電子制御装置が搭載された車両のイグニッションスイッチがオンにされると、前記メッセージを生成し、
前記メッセージ認証コード生成部は、前記メッセージ生成部が前記メッセージを生成すると前記メッセージ認証コードを生成し、
前記電子制御装置通信部は、前記メッセージ認証コード生成部が前記メッセージ認証コードを生成すると、前記メッセージ生成部が生成したメッセージ、および前記メッセージ認証コード生成部が生成したメッセージ認証コードを送信する、車載情報通信システム。
【請求項４】
請求項１に記載の車載情報通信システムにおいて、
前記電子制御装置は、第２の乱数を生成する第２乱数生成部をさらに備え、
前記電子制御装置記憶部には、第１の秘密情報、および第２の秘密情報がさらに格納され、
前記メッセージ生成部は、
前記第１の秘密情報を前記第２の秘密情報を用いて暗号化して暗号化データを生成し、前記暗号化データと前記第２乱数生成部の生成する第２の乱数とのビット演算を行いメッセージを生成する、車載情報通信システム。
【請求項５】
車両に搭載される車載通信装置、および電子制御装置、ならびに車両に搭載されない情報処理装置から構成される車載情報通信システムにおける前記電子制御装置と前記情報処理装置との認証方法であって、
前記電子制御装置が、
認証のためのメッセージを生成し、
事前に前記情報処理装置と共有した共通鍵を用いて、前記メッセージに関するメッセージ認証コードを生成し、
前記生成したメッセージ、および前記生成したメッセージ認証コードを前記車載通信装置を経由して前記情報処理装置に送信し、
前記情報処理装置が、
前記共通鍵、および受信したメッセージを用いて、受信した前記メッセージ認証コードを検証することにより前記電子制御装置を認証し、
前記受信したメッセージ、および前記共通鍵に基づき、レスポンスコードを生成し、
前記検証が成功すると、前記生成したレスポンスコードを前記車載通信装置を経由して前記電子制御装置に送信し、
前記電子制御装置が、
前記共通鍵に基づき、受信した前記レスポンスコードを検証ことにより前記情報処理装置を認証する、認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載情報通信システム及び認証方法に関する。
【背景技術】
【０００２】
自動車車載機器のネットワーク化や車載ソフトウェアの増加に伴い、自動車の分野においても情報セキュリティ技術の導入の必要性が認識されている。特に、電子制御ユニット（ECU：Electric Control Unit）のファームウェアを車外の情報処理装置から無線によって配信して更新するサービスも始まりつつあり、上記ファームウェア更新におけるセキュリティ技術の導入の必要性が高まっている。
特許文献１には、ＥＣＵ、センタ、およびＥＣＵとセンタとを接続する通信路に存在する書換え装置から構成される通信システムにおいて、センタが書換装置を認証すると、センタから書換装置にＥＣＵのファームウェアの書換えに必要な秘密情報を送信する発明が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３４８７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明では、ＥＣＵに関する秘密情報がサーバから書換装置に送信され、ＥＣＵに関する秘密情報の機密性を確保することができない。
【課題を解決するための手段】
【０００５】
本発明にかかる車載情報通信システムは、車両に搭載される車載通信装置、および電子制御装置、ならびに車両に搭載されない情報処理装置から構成される。電子制御装置は、情報処理装置と事前に共有した共通鍵が格納される第１記憶部と、認証のためのメッセージを生成するメッセージ生成部と、共通鍵を用いて、メッセージに関するメッセージ認証コード（以下、ＭＡＣ）を生成するＭＡＣ生成部と、メッセージ生成部が生成したメッセージ、およびＭＡＣ生成部が生成したＭＡＣを車載通信装置を経由して情報処理装置に送信する第１通信部と、を備える。情報処理装置は、共通鍵が格納される第３記憶部と、共通鍵、および受信したメッセージを用いて、受信したＭＡＣを検証するＭＡＣ検証部と、受信したメッセージ、および共通鍵に基づき、レスポンスコードを生成するレスポンスコード生成部と、ＭＡＣ検証部における検証が成功すると、レスポンスコード生成部が作成したレスポンスコードを車載通信装置を経由して電子制御装置に送信する第３通信部と、を備える。電子制御装置は、共通鍵に基づき、受信したレスポンスコードを検証するレスポンスコード検証部をさらに備える。
本発明にかかる認証方法は、車両に搭載される車載通信装置、および電子制御装置、ならびに車両に搭載されない情報処理装置から構成される車載情報通信システムにおける電子制御装置と情報処理装置との認証方法であって、電子制御装置が、認証のためのメッセージを生成し、事前に情報処理装置と共有した共通鍵を用いて、メッセージに関するメッセージ認証コードを生成し、生成したメッセージ、および生成したメッセージ認証コードを車載通信装置を経由して情報処理装置に送信し、情報処理装置が、共通鍵、および受信したメッセージを用いて、受信したメッセージ認証コードを検証することにより電子制御装置を認証し、受信したメッセージ、および共通鍵に基づき、レスポンスコードを生成し、検証が成功すると、生成したレスポンスコードを車載通信装置を経由して電子制御装置に送信し、電子制御装置が、共通鍵に基づき、受信したレスポンスコードを検証ことにより情報処理装置を認証する。
【発明の効果】
【０００６】
本発明によれば、ＥＣＵに関する秘密情報の機密性を確保することができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態における車載情報通信システム１の概略的な構成を示す図
【図２】送受信テーブル１１７の一例を示す図
【図３】車載通信装置１３１の構成を示すブロック図
【図４】情報管理テーブル１５８の一例を示す図
【図５】ＥＣＵ１３２の構成を示すブロック図
【図６】情報処理装置１０１、車載通信装置１３１、およびＥＣＵ１３２が備える鍵情報の相関を示す図
【図７】認証処理フローを示す遷移図
【図８】ＥＣＵにおける暗号処理１の詳細を示すフローチャート
【図９】車載通信装置における暗号処理２の詳細を示すフローチャート
【図１０】情報処理装置における暗号処理３の詳細を示すフローチャート
【図１１】車載通信装置における暗号処理４の詳細を示すフローチャート
【図１２】ＥＣＵにおける暗号処理５の詳細を示すフローチャート
【図１３】第２の実施の形態における暗号処理１の詳細を示すフローチャート
【図１４】第２の実施の形態における暗号処理２の詳細を示すフローチャート
【図１５】第２の実施の形態における暗号処理３の詳細を示すフローチャート
【発明を実施するための形態】
【０００８】
（第１の実施の形態）
以下、図１〜１２を参照して、本発明による車載情報通信システムの一実施形態を説明する。
図１は、本発明の第１の実施形態における車載情報通信システム１の概略的な構成を示す図である。図１に示すように、車載情報通信システム１は、情報処理装置１０１、および車両１０３を含む。情報処理装置１０１および車両１０３は、無線通信網１０２を介して互いに通信可能に接続される。図１では、車載情報通信システム１は１つの情報処理装置１０１、および１台の車両１０３から構成されているが、複数の情報処理装置１０１、および複数の車両１０３から構成されてもよい。
【０００９】
車両１０３は、車載通信装置１３１、および複数のＥＣＵ１３２から構成される。車載通信装置１３１、および複数のＥＣＵ１３２は車載ネットワーク１３３により互いに通信可能に接続される。車載通信装置１３１のみが無線通信網１０２に接続されており、いずれのＥＣＵ１３２も車載通信装置１３１を介さなければ情報処理装置１０１と通信ができない。
【００１０】
（情報処理装置１０１の構成）
情報処理装置１０１は、たとえばサーバ装置である。図１に示すように、情報処理装置１０１は、入出力インタフェース１１１、記憶部１１４、可搬型記憶媒体インタフェース部１１９、通信部１２０、および処理部１２１を備える。入出力インタフェース１１１、記憶部１１４、可搬型記憶媒体インタフェース部１１９、通信部１２０、および処理部１２１は、バス１１８を介して互いに通信可能に接続される。記憶部１１４には、定数１１５、鍵情報１１６、および送受信テーブル１１７が保存される。処理部１２１は、暗号プロトコル制御部１２３と、暗号処理部１２４とを備える。
【００１１】
入出力インタフェース１１１は、処理部１２１とディスプレイ１１２、及びキーボード１１３との間で入出力される信号のインタフェース処理を行う。処理部１２１は、入出力インタフェース１１１を介して信号をディスプレイ１１２に出力することで、各種情報を表示する。処理部１２１は、キーボード１１３から入出力インタフェース１１１を介して出力された操作信号を取得し、情報処理装置１０１に対する操作者の操作を検出し、その操作内容に応じた処理を行うことができる。
【００１２】
記憶部１１４は、例えば、ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ（Non Volatile RAM）、ハードディスクドライブ、ＳＳＤ（Solid State Drive）、光学式記憶装置等により構成される。記憶部１１４には、定数１１５、鍵情報１１６、および送受信テーブル１１７が格納される。
定数１１５とは暗号処理で使用する定数などであり、たとえば楕円曲線暗号におけるベースポイント、ＲＳＡ暗号における公開鍵暗号指数ｅなどである。
【００１３】
鍵情報１１６は、認証に用いる複数の鍵の情報である。ここで言う鍵とは予め定めた電子データであり、たとえば非常に大きな数である。鍵の種類や性質、およびその働きは後述する。鍵情報１１６には、それぞれの通信先に対応する鍵が用意されており、通信先と鍵の対応関係が送受信テーブル１１７に記録されている。送受信テーブル１１７には、車載通信装置１３１、ＥＣＵ１３２を識別するための識別情報、および個別の車載通信装置１３１およびＥＣＵ１３２に対応する鍵情報１１６の識別情報が含まれる。
【００１４】
図２は、送受信テーブル１１７の一例を示す図である。送受信テーブル１１７は、車両１０３を識別するための車両ＩＤ、車載通信装置１３１を識別するための車載通信装置ＩＤ、ＥＣＵ１３２を識別するためのＥＣＵＩＤ、ＥＣＵ１３２を製造したＥＣＵ製造会社を識別するためのＥＣＵ製造会社ＩＤ、ＥＣＵ１３２のファームウェアのバージョン情報を識別するファームウェアバージョン情報、ＥＣＵ１３２の認証に使用する鍵情報を識別するためのＥＣＵ鍵情報ＩＤ、及び車載通信装置１３１を認証に使用する鍵情報を識別するための車載通信装置秘密情報ＩＤから構成される。
図１に戻って説明を続ける。
【００１５】
可搬型記憶媒体インタフェース部１１９は、情報処理装置１０１に可搬型の記憶媒体を接続するためのインタフェース装置である。処理部１２１は、可搬型記憶媒体インタフェース部１１９を介して接続されたＵＳＢメモリや各種メモリカードとの間で、データの読み出しおよび書き出しを行う。
通信部１２０は、無線通信網１０２を介して車両１０３と通信を行う。
無線通信網１０２は、携帯電話網、または無線ＬＡＮである。
【００１６】
（処理部１２１）
処理部１２１は、ＣＰＵ、ＲＯＭ、およびＲＡＭから構成される。ＣＰＵは、ＲＯＭに保存されているプログラムをＲＡＭに展開して実行する。ただし、処理部１２１はＣＰＵに代えてＭＰＵにより構成されてもよいし、ＣＰＵとともにＭＰＵが用いられてもよい。
ＲＯＭに保存されるプログラムが有する機能を機能ブロックとして表したものが、暗号プロトコル制御部１２３、および暗号処理部１２４である。
暗号プロトコル制御部１２３は、後述する認証処理を制御する。暗号処理部１２４は、認証処理に用いられる各種暗号処理を行う。
【００１７】
（車載通信装置１３１の構成）
図３は、車載通信装置１３１の構成を示すブロック図である。
車載通信装置１３１は、処理部１５１と、通信部１５４と、記憶部１５５とを備える。
処理部１５１は、ＣＰＵ、ＲＯＭ、およびＲＡＭから構成される。ＣＰＵは、ＲＯＭに保存されているプログラムをＲＡＭに展開して実行する。ただし、処理部１５１はＣＰＵに代えてＭＰＵ（Micro Processing Unit）により構成されてもよいし、ＣＰＵとともにＭＰＵが用いられてもよい。
【００１８】
ＲＯＭに保存されるプログラムが有する機能を機能ブロックとして表したものが、暗号プロトコル制御部１５２、および暗号処理部１５３である。
暗号プロトコル制御部１５２は、後述する認証処理を制御する。暗号処理部１５３は、認証処理に用いられる各種暗号処理を行う。
通信部１５４は、無線通信網１０２を介して情報処理装置１０１と通信を行い、車載ネットワーク１３３を介してＥＣＵ１３２と通信を行う。
【００１９】
記憶部１５５は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＮＶＲＡＭ（Non Volatile RAM）、ハードディスクドライブ、ＳＳＤ、光学式記憶装置等により構成される。記憶部１５５には、定数１５６、鍵情報１５７、および情報管理テーブル１５８が格納される。
定数１５６とは暗号処理で使用する定数などであり、たとえば楕円曲線暗号におけるベースポイント、ＲＳＡ暗号における公開鍵暗号指数ｅなどである。
鍵情報１５７は、認証に用いる複数の鍵の情報である。鍵の種類およびその働きは後述する。鍵情報１５７には、それぞれの通信先に対応する鍵が用意されており、通信先と鍵の対応関係が送受信テーブル１５８に記録されている。情報管理テーブル１５８には、情報処理装置１０１を識別するための識別情報、および個別の情報処理装置１０１に対応する鍵情報１５７の識別情報が含まれる。
【００２０】
図４は、情報管理テーブル１５８の一例を示す図である。
情報管理テーブル１５８は、車載通信装置１３１が車両１０３内の車載ネットワークに接続されたＥＣＵ１３２の識別や、ＥＣＵ１３２のファームウェアバージョン情報を管理するために利用される。
情報管理テーブル１５８は、車両１０３を識別するための車両ＩＤ、通信先の情報処理装置１０１を識別するための情報処理装置ＩＤ、ＥＣＵ１３２を識別するためのＥＣＵＩＤ、ＥＣＵ１３２を製造したＥＣＵ製造会社を識別するためのＥＣＵ製造会社ＩＤ、ＥＣＵ１３２のファームウェアのバージョン情報を識別するファームウェアバージョン情報、および情報処理装置１０１の認証に使用する鍵情報１５７を識別するための情報処理装置秘密情報ＩＤから構成される。
【００２１】
（ＥＣＵ１３２の構成）
図５は、ＥＣＵ１３２の構成を示すブロック図である。
ＥＣＵ１３２は、処理部１７１と、通信部１７４と、記憶部１７５とを備える。
処理部１７１は、ＣＰＵ、ＲＯＭ、およびＲＡＭから構成される。ＣＰＵは、ＲＯＭに保存されているプログラムをＲＡＭに展開して実行する。ただし、処理部１７１はＣＰＵに代えてＭＰＵ（Micro Processing Unit）により構成されてもよいし、ＣＰＵとともにＭＰＵが用いられてもよい。
【００２２】
ＲＯＭに保存されるプログラムが有する機能を機能ブロックとして表したものが、暗号プロトコル制御部１７２、および暗号処理部１７３である。
暗号プロトコル制御部１７２は、後述する認証処理を制御する。暗号処理部１７３は、認証処理に用いられる各種暗号処理を行う。暗号プロトコル制御部１７２は、車両１０３が備える不図示のイグニションキーがユーザによりＯＮにされると、後述する処理を開始する。
通信部１７４は、車載ネットワーク１３３を介して車載通信装置１３１と通信を行う。
記憶部１７５は、例えば、ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ、ハードディスクドライブ、ＳＳＤ、光学式記憶装置等により構成される。記憶部１７５には、定数１７６、および鍵情報１７７が格納される。
【００２３】
定数１７６とは暗号処理で使用する定数などであり、たとえば楕円曲線暗号におけるベースポイント、ＲＳＡ暗号における公開鍵暗号指数ｅなどである。
鍵情報１７７は、特定の情報処理装置１０１との認証に用いる複数の鍵の情報である。鍵の種類およびその働きは後述する。ＥＣＵ１３２は、特定の情報処理装置１０１とのみ通信を行うので、情報処理装置１０１や車載通信装置１３１のように、複数の通信先に対応する鍵を保有していない。そのため、送受信テーブル１１７や情報管理テーブル１５８に相当する情報も保有しない。
【００２４】
（鍵情報）
図６を用いて、情報処理装置１０１に保存される鍵情報１１６、車載通信装置１３１に保存される鍵情報１５７、およびＥＣＵ１３２に保存される鍵情報１７７を説明する。ただし、図６にはある１組の情報処理装置１０１、車載通信装置１３１、およびＥＣＵ１３２の認証に用いられる鍵情報のみを示している。図６の図示上下方向の高さが同一の鍵は、同一または相関があることを示す。
【００２５】
図６は、情報処理装置１０１、車載通信装置１３１、およびＥＣＵ１３２が備える鍵情報の相関を示す図である。情報処理装置１０１は、共通鍵ＣＫ１と、第１の秘密鍵ＳＫＳと、第２の公開鍵ＰＫＴとを備える。車載通信装置１３１は、第１の公開鍵ＰＫＳと、第２の秘密鍵ＳＫＴとを備える。ＥＣＵ１３２は、鍵Ｋと、鍵暗号鍵ＫＥＫと、共通鍵ＣＫ２とを備える。鍵Ｋと、鍵暗号鍵ＫＥＫと、共通鍵ＣＫ２は、ＥＣＵ１３２が保有する秘密情報である。鍵Ｋは、たとえば外部からＥＣＵ１３２に動作指令を出力する際に必要となる情報である。
【００２６】
ＥＣＵ１３２が備える鍵Ｋおよび鍵暗号鍵ＫＥＫは、ＥＣＵ１３２のみが備える鍵である。
情報処理装置１０１が備える共通鍵ＣＫ１と、ＥＣＵ１３２が備える共通鍵ＣＫ２は同一であり、これらはいわゆる共有秘密鍵である。共通鍵ＣＫ１および共通鍵ＣＫ２は、事前に安全な配送手段により情報処理装置１０１とＥＣＵ１３２により共有されている。
第１の秘密鍵ＳＫＳと第１の公開鍵ＰＫＳは、公開鍵暗号に対応する一対の鍵、いわゆる鍵ペアである。第２の公開鍵ＰＫＴと第２の秘密鍵ＳＫＴも同様に、公開鍵暗号に対応する一対の鍵、いわゆる鍵ペアである。第１の秘密鍵ＳＫＳ、および第２の秘密鍵ＳＫＴは、いわゆるプライベートキーである。第１の公開鍵ＰＫＳおよび第２の公開鍵ＰＫＴは、いわゆるパブリックキーである。
【００２７】
情報処理装置１０１とＥＣＵ１３２の間では、共通鍵ＣＫ１および共通鍵ＣＫ２を用いて相互に認証が行われる。情報処理装置１０１と車載通信装置１３１の間では、一方が秘密鍵を用いて電子署名（以下、署名と呼ぶ）を作成し、他方が対応する公開鍵を用いてその署名を検証することで認証が行われる。
【００２８】
（認証処理の概要）
情報処理装置１０１、車載通信装置１３１、およびＥＣＵ１３２による認証処理の概要を説明する。
図７は、認証処理の概要を示す遷移図である。図示上から下に向かって時間が経過している。
ＥＣＵ１３２の処理部１７１は、車両１０３のイグニッションスイッチがＯＮにされると、記憶部１７５から鍵情報１７７を読み込む（ステップＳ５１１）。ＥＣＵ１３２の処理部１７１は、ステップＳ５１１で取得した鍵情報１７７を用いて暗号処理１を実施する（ステップＳ５１２）。ステップＳ５１２の暗号処理１は、例えば、後述する図８のフローチャートにより実現される。ＥＣＵ１３２の通信部１７４は、ステップＳ５１２で生成された情報を同一の車両１０３に搭載された車載通信装置１３１に送信する（ステップＳ５１３）。
【００２９】
車載通信装置１３１がステップＳ５１３で送信されたデータを受信すると、車載通信装置１３１の処理部１５１は、記憶部１５５から鍵情報１５７を読み込む（ステップＳ５２１）。
車載通信装置１３１の処理部１５１は、ステップＳ５１３で受信したデータ、およびステップＳ５２１で取得した鍵情報１５７を用いて暗号処理２を実施する（ステップＳ５２２）。ステップＳ５２２の暗号処理２は、例えば、後述する図９のフローチャートにより実現される。
【００３０】
車載通信装置１３１の通信部１５４は、ステップＳ５２２で生成された情報などを無線通信網１０２を介して情報処理装置１０１に送信する（ステップＳ５２３）。
情報処理装置１０１がステップＳ５２３で送信されたデータを受信すると、情報処理装置１０１の処理部１２１は、記憶部１１４に格納された鍵情報１１６を読み込む（ステップＳ５３１）。
情報処理装置１０１の処理部１２１は、受信したデータおよびステップＳ５３１で取得した鍵情報１１６を用いて暗号処理３を実施する（ステップＳ５３２）。ステップＳ５３２の暗号処理３は、例えば、後述する図１０のフローチャートにより実現される。この暗号処理３において、情報処理装置１０１による車載通信装置１３１およびＥＣＵ１３２の認証が行われる。
【００３１】
情報処理装置１０１の通信部１２０は、ステップＳ５３２で生成されたデータを車載通信装置１３１に送信する（ステップＳ５３３）。
車載通信装置１３１がステップＳ５３３で送信されたデータを受信すると、車載通信装置１３１の処理部１５１は、記憶部１５５から鍵情報１５７を読み込む（ステップＳ５４１）。処理部１５１は、ステップＳ５４１で取得した鍵情報１５７および受信したデータを用いて暗号処理４を実施する（ステップＳ５４２）。ステップＳ５４２の暗号処理４は、例えば、後述する図１１のフローチャートにより実現される。この暗号処理４において、車載通信装置１３１による情報処理装置１０１の認証が行われる。
車載通信装置１３１の通信部１５４は、ステップＳ５４２で生成された情報を含むデータをＥＣＵ１３２に送信する（ステップＳ５４３）。
【００３２】
ＥＣＵ１３２がステップＳ５４３で送信されたデータを受信すると、ＥＣＵ１３２の処理部１７１は、記憶部１７５から鍵情報１７７を読み込む（ステップＳ５５１）。
ＥＣＵ１３２の処理部１７１は、ステップＳ５５１で取得した情報を用いて暗号処理５を実施する（ステップＳ５５２）。ステップＳ５５２の暗号処理５は、例えば、後述する図１２のフローチャートにより実現される。この暗号処理５において、ＥＣＵ１３２による情報処理装置１０１および車載通信装置１３１の認証が行われる。
ＥＣＵ１３２の通信部１７４は、ステップＳ５５２における認証結果を車載通信装置１３１に送信する（ステップＳ５６１）。
【００３３】
車載通信装置１３１がステップＳ５６１で送信された判定結果を受信すると、車載通信装置１３１の処理部１５１は、記憶部１５５に判定結果を格納する。通信部１５４は、受信した判定結果を情報処理装置１０１に送信する（ステップＳ５６２）。
情報処理装置１０１がステップＳ５６２で送信された判定結果を受信すると、情報処理装置１０１の処理部１２１は、記憶部１１４に判定結果を格納する。
ＥＣＵ１３２の処理部１７１は、ステップＳ５６１の実行が完了すると、記憶部１７５に格納した認証の判定結果を読み出し、認証に成功したか否かを判断する。認証に成功したと判断する場合にはステップＳ５７２に進み、認証に失敗したと判断する場合は終了する（ステップＳ５７１）。ＥＣＵ１３２の処理部１７１は、ステップＳ５７１において認証に成功したと判断した場合にはファームウェア書き込みシーケンスに移行する（ステップＳ５７２）。
【００３４】
車載通信装置１３１の処理部１５１は、ステップＳ５６２の実行が完了すると、記憶部１５５に格納した認証の判定結果を読み出し、認証に成功したか否かを判断する。認証に成功したと判断する場合にはステップＳ５８２に進み、認証に失敗したと判断する場合は終了する（ステップＳ５８１）。車載通信装置１３１の処理部１５１は、ステップＳ５８１において認証に成功したと判断した場合にはファームウェア書き込みシーケンスに移行する（ステップＳ５８２）。
【００３５】
情報処理装置１０１の処理部１２１は、ステップＳ５６２の受信をトリガーとして、認証に成功したか否かを判断する。認証に成功したと判断する場合にはステップＳ５９２に進み、認証に失敗したと判断する場合は終了する（ステップＳ５９１）。
情報処理装置１０１の処理部１２１は、ステップＳ５９１において認証に成功したと判断した場合には、ファームウェア書き込みシーケンスに移行する（ステップＳ５９２）。
ステップＳ５７２、ステップＳ５８２、及びステップＳ５９２のファームウェア書き込みシーケンスでは、情報処理装置１０１、車載通信装置１３１、ＥＣＵ１３２が互いに通信を行いながらファームウェア更新処理を行う。このファームウェア更新処理において、改めてファームウェアの暗復号処理、署名の生成、メッセージ認証コード（Message Authentication Code；以下、「ＭＡＣ」と表記する場合もある）の生成、署名やＭＡＣの検証などのセキュリティ機能を実施してもよく、その方法は問わない。
【００３６】
（暗号処理の詳細）
以下、図８〜１２を用いて図７において示した暗号処理１〜５の詳細を説明する。
【００３７】
（暗号処理１のフローチャート）
図８は、図７においてステップＳ５１２として示した暗号処理１の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、ＥＣＵ１３２の暗号プロトコル制御部１７２である。暗号プロトコル制御部１７２は、車両１０３のイグニッションスイッチがＯＮにされると、以下の処理を開始する。
【００３８】
ステップＳ６０１において、暗号プロトコル制御部１７２は、暗号処理部１７３に乱数ｒ０を生成させ、記憶部１７５に格納する。次にステップＳ６０２に進む。
ステップＳ６０２において、暗号プロトコル制御部１７２は、暗号処理部１７３に鍵暗号鍵ＫＥＫを用いて鍵Ｋを暗号化させる。本ステップにおいて用いられる鍵Ｋおよび鍵暗号鍵ＫＥＫは、鍵情報１７７として記憶部１７５に保存されていた情報である。本ステップにおいて暗号処理部１７３により生成されたデータを、以下では暗号化データＸと呼ぶ。ここで、暗号文の生成を「暗号文＝ＥＮＣ暗号化鍵（平文）」という書式で表すと、本ステップの処理は以下の式１により表される。
Ｘ＝ＥｎｃＫＥＫ（Ｋ）・・・（式１）
次にステップＳ６０３に進む。
【００３９】
ステップＳ６０３において、暗号プロトコル制御部１７２は、暗号処理部１７３にステップＳ６０２で生成した暗号化データＸと、ステップＳ６０１で生成した乱数ｒ０との排他的論理和を計算させ、排他的論理和Ｙ０として記憶部１７５に格納する。ここで、排他的論理和（exclusive or；以下、「ＸＯＲ」と表記する場合がある）の演算子を○の中に十字の記号を用いて表すと、本ステップの処理は以下の式２により表される。
【００４０】
【数１】
0006345157.tif 000002
【００４１】
次にステップＳ６０４に進む。
ステップＳ６０４において、暗号プロトコル制御部１７２は、ステップＳ６０３で生成した排他的論理和Ｙ０をメッセージ、共通鍵ＣＫ２を鍵としてメッセージ認証コードＺを生成する。ここで、メッセージ認証コードの生成を「メッセージ認証コード＝ＭＡＣ鍵（メッセージ）」という書式で表すと、本ステップの処理は以下の式３により表される。
Ｚ＝ＭＡＣＣＫ２（Ｙ０）・・・（式３）
次にステップＳ６０５に進む。
【００４２】
ステップＳ６０５において、暗号プロトコル制御部１７２は、ステップ６０３で生成した排他的論理和Ｙ０、及びステップ６０４で生成したメッセージ認証コードＺを通信部１７４を用いて車載通信装置１３１に送信する。以上で、図８により表される暗号処理１が終了する。
【００４３】
（暗号処理２のフローチャート）
図９は、図７においてステップＳ５２２として示した暗号処理２の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、車載通信装置１３１の暗号プロトコル制御部１５２である。暗号プロトコル制御部１５２は、ＥＣＵ１３２から排他的論理和Ｙ０およびメッセージ認証コードＺを受信すると、以下の処理を開始する。
ステップＳ７０１において、暗号プロトコル制御部１５２は、暗号処理部１５３に以下の処理を実行させる。すなわち、鍵情報１５７として保存されている第２の秘密鍵ＳＫＴを用いて、受信した排他的論理和Ｙ０の署名である署名σ０を生成させる。次にステップＳ７０２に進む。
ステップＳ７０２において、暗号プロトコル制御部１５２は、ステップＳ７０１において生成させた署名σ０、受信した排他的論理和Ｙ０、受信したメッセージ認証コードＺを、通信部１５４を用いて情報処理装置１０１に送信させる。以上で、図９により表される暗号処理２が終了する。
【００４４】
（暗号処理３のフローチャート）
図１０は、図７においてステップＳ５３２として示した暗号処理３の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、情報処理装置１０１の暗号プロトコル制御部１２３である。暗号プロトコル制御部１２３は、車載通信装置１３１から署名σ０、排他的論理和Ｙ０、およびメッセージ認証コードＺを受信すると、以下の処理を開始する。
ステップＳ８０１において、暗号プロトコル制御部１２３は、暗号処理部１２４に以下の処理を実行させる。すなわち、鍵情報１１６として保存されている共通鍵ＣＫ１と、受信した排他的論理和Ｙ０とを用いて、受信したメッセージ認証コードＺを検証させる。具体的には、前述のステップＳ６０４と同様にメッセージ認証コードを生成させる。次にステップＳ８０２に進む。
【００４５】
ステップＳ８０２において、暗号プロトコル制御部１２３は、受信したメッセージ認証コードＺは正当であるか否かを判断する。換言すると、受信したメッセージ認証コードＺと、ステップＳ８０１において生成したメッセージ認証コードが一致するか否かを判断する。受信したメッセージ認証コードＺは正当である、すなわち、受信したメッセージ認証コードＺとステップＳ８０１において生成したメッセージ認証コードが一致すると判断する場合はステップＳ８０３に進む。受信したメッセージ認証コードＺは正当ではない、すなわち、受信したメッセージ認証コードＺとステップＳ８０１において生成したメッセージ認証コードが一致しないと判断する場合はステップＳ８１０に進む。
【００４６】
メッセージ認証コードＺの検証により、メッセージ認証コードＺを生成したＥＣＵ１３２が情報処理装置１０１と同一の共通鍵を所有していることが確認される。すなわち、同一の共通鍵を所有していることにより、情報処理装置１０１がメッセージ認証コードＺを生成したＥＣＵ１３２を認証した場合に、ステップＳ８０３に処理が進む。
ステップＳ８０３において、暗号プロトコル制御部１２３は、暗号処理部１２４に以下の処理を実行させる。すなわち、鍵情報１１６として保存されている第２の公開鍵ＰＫＴと受信した排他的論理和Ｙ０を用いて受信した署名σ０を検証させる。
【００４７】
ステップＳ８０４において、暗号プロトコル制御部１２３は、受信した署名σ０が正当であるか否かを判断する。受信した署名σ０が正当であると判断する場合はステップＳ８０５に進み、受信した署名σ０が正当ではないと判断する場合はステップＳ８１０に進む。
署名σ０の検証により、署名σ０を生成した車載通信装置１３１が、第２の公開鍵ＰＫＴに対応する第２の秘密鍵ＳＫＴを所有していることが確認される。すなわち情報処理装置１０１は、第２の秘密鍵ＳＫＴを所有していることを理由として署名σ０を生成した車載通信装置１３１を認証し、ステップＳ８０５に処理が進む。
【００４８】
ステップＳ８０５において、暗号プロトコル制御部１２３は、暗号処理部１２４に乱数ｒ１を生成させ、記憶部１１４に格納する。次にステップＳ８０６に進む。
ステップＳ８０６において、暗号プロトコル制御部１２３は、暗号処理部１２４に以下の処理を実行させる。すなわち、鍵情報１１６として保存されている第２の公開鍵ＰＫＴを用いて乱数ｒ１を暗号化させ、暗号化データｃ１を生成させる。本ステップの処理は以下の式４により表される。
【００４９】
ｃ１＝ＥｎｃＰＫＴ（ｒ１）・・・（式４）
次にステップＳ８０７に進む。
ステップＳ８０７において、暗号プロトコル制御部１２３は、暗号処理部１２４に以下の処理を実行させる。すなわち、受信した排他的論理和Ｙ０と乱数ｒ１の排他的論理和を算出し、さらに共通鍵ＣＫ１を用いて暗号化し、暗号化データｃ２を生成させる。本ステップの処理は以下の式５により表される。
【００５０】
【数２】
0006345157.tif 000003
【００５１】
次にステップＳ８０８に進む。
ステップＳ８０８において、暗号プロトコル制御部１２３は、暗号処理部１２４に以下の処理を実行させる。すなわち、鍵情報１５７として保存されている第１の秘密鍵ＳＫＳを用いて、ステップＳ８０８において生成したｃ２の署名である署名σ１を生成させる。次にステップＳ８０９に進む。
【００５２】
ステップＳ８０９において、暗号プロトコル制御部１２３は、ステップＳ８０６において作成した暗号化データｃ１、ステップＳ８０７において生成した暗号化データｃ２、およびステップＳ８０８において生成した署名σ１を、通信部１２０を用いて車載通信装置１３１に送信させる。以上で、図１０により表される暗号処理３が終了する。
ステップＳ８０２またはステップＳ８０４において否定判断された場合に実行されるステップＳ８１０では、暗号プロトコル制御部１２３は、検証に失敗した旨を通信部１２０を用いて車載通信装置１３１に送信させる。以上で、図１０により表される暗号処理３が終了する。
【００５３】
（暗号処理４のフローチャート）
図１１は、図７においてステップＳ５４２として示した暗号処理４の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、車載通信装置１３１の暗号プロトコル制御部１５２である。暗号プロトコル制御部１５２は、情報処理装置１０１から暗号化データｃ１、暗号化データｃ２、および署名σ１を受信すると、以下の処理を開始する。
ステップＳ９０１において、暗号プロトコル制御部１５２は、暗号処理部１５３に以下の処理を実行させる。すなわち、鍵情報１５７として保存されている第１の公開鍵ＰＫＳと、受信した暗号化データｃ２とを用いて、署名σ１を検証させる。
【００５４】
ステップＳ９０２において、暗号プロトコル制御部１５２は、受信した署名σ１が正当であるか否かを判断する。受信した署名σ１が正当であると判断する場合はステップＳ９０３に進み、受信した署名σ１が正当ではないと判断する場合はステップＳ９０５に進む。
署名σ１の検証により、署名σ１を生成した情報処理装置１０１が、第１の公開鍵ＰＫＳに対応する第１の秘密鍵ＳＫＳを所有していることが確認される。すなわち車載通信装置１３１は、第１の秘密鍵ＳＫＳを所有していることを理由として署名σ１を生成した情報処理装置１０１を認証し、ステップＳ９０３に処理が進む。
【００５５】
ステップＳ９０３において、暗号プロトコル制御部１５２は、暗号処理部１５３に以下の処理を実行させる。すなわち、鍵情報１５７として保存されている第２の秘密鍵ＳＫＴを用いて、受信した暗号化データｃ１を復号し、復号結果ｃ３を生成させる。図１０のステップ８０６において説明したように、暗号化データｃ１は、第２の公開鍵ＰＫＴを用いて乱数ｒ１を暗号化したものである。そのため、情報処理装置１０１および車載通信装置１３１が正しい鍵を使用していれば、復号結果ｃ３は乱数ｒ１となる。次にステップＳ９０４に進む。
【００５６】
ステップＳ９０４において、暗号プロトコル制御部１５２は、ステップＳ９０３において生成した復号結果ｃ３および受信した暗号化データｃ２を、通信部１５４を用いてＥＣＵ１３２に送信させる。以上で、図１１により表される暗号処理４が終了する。
ステップＳ９０２において否定判断された場合に実行されるステップＳ９０５では、暗号プロトコル制御部１５２は、通信部１５４を用いてＥＣＵ１３２に検証に失敗した旨を送信させる。以上で、図１１により表される暗号処理４が終了する。
【００５７】
（暗号処理５のフローチャート）
図１２は、図７においてステップＳ５５２として示した暗号処理５の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、ＥＣＵ１３２の暗号プロトコル制御部１７２である。暗号プロトコル制御部１７２は、車載通信装置１３１から復号結果ｃ３および暗号化データｃ２を受信すると、以下の処理を開始する。
ステップＳ１００１において、暗号プロトコル制御部１７２は、暗号処理部１７３に以下の処理を実行させる。すなわち、鍵情報１７７として保存されている共通鍵ＣＫ２を用いて、受信した暗号化データｃ２を復号し、復号結果ｄ１を生成させる。平文の生成を「平文＝Ｄｅｃ復号化鍵（暗号文）」という書式で表すと、本ステップの処理は、以下の式６により表される。
【００５８】
ｄ１＝ＤｅｃＣＫ２（ｃ２）・・・（式６）
次にステップＳ１００２に進む。
ステップＳ１００２において、暗号プロトコル制御部１７２は、暗号処理部１７３に以下の処理を実行させる。すなわち、ステップＳ１００１において生成した復号結果ｄ１と、受信した復号結果ｃ３のＸＯＲである、排他的論理和Ｙ１を算出させる。本ステップの処理は、以下の式７により表される。
【００５９】
【数３】
0006345157.tif 000004
【００６０】
次にステップＳ１００３に進む。
ステップＳ１００３において、暗号プロトコル制御部１７２は、暗号処理部１７３に以下の処理を実行させる。すなわち、ステップＳ１００２において算出した排他的論理和Ｙ１と、図８のステップＳ６０１において生成した乱数ｒ０のＸＯＲである排他的論理和Ｙ２を算出させる。本ステップの処理は、以下の式８により表される。
【００６１】
【数４】
0006345157.tif 000005
【００６２】
次にステップＳ１００４に進む。
ステップＳ１００４において、暗号プロトコル制御部１７２は、暗号処理部１７３に以下の処理を実行させる。すなわち、鍵情報１７７として保存されている鍵暗号鍵ＫＥＫを用いて、ステップＳ１００３において算出した排他的論理和Ｙ２を復号し、復号結果ｄ２を生成させる。ここで、平文の生成を「平文＝Ｄｅｃ復号化鍵（暗号文）」という書式で表すと、本ステップの処理は、以下の式９により表される。
ｄ２＝ＤｅｃＫＥＫ（Ｙ２）・・・（式９）
ここで、式９に式２、および式５〜８を代入すると式１０が得られる。
【００６３】
【数５】
0006345157.tif 000006
【００６４】
さらに、ステップＳ９０３において述べたように、情報処理装置１０１および車載通信装置１３１が正しい鍵を使用していれば、復号結果ｃ３は乱数ｒ１となる。さらに、情報処理装置１０１とＥＣＵ１３２が正しい鍵を使用していれば、共通鍵ＣＫ１と共通鍵ＣＫ２は同一なので、暗号化と復号化が相殺される。そのため、式１０は以下の式１１のように変形される。
【００６５】
【数６】
0006345157.tif 000007
【００６６】
ＸＯＲ演算は２回繰り返せば元に戻るので、ｒ０およびｒ１によるＸＯＲ演算が相殺される。さらに、式１１に式１を代入してメッセージ認証コードＺを展開すると、以下の式１２が得られる。
ｄ２＝ＤｅｃＫＥＫ（ＥｎｃＫＥＫ（Ｋ））＝Ｋ・・・（式１２）
すなわち、これまで説明した全てのステップで情報処理装置１０１、車載通信装置１３１、およびＥＣＵ１３２が正しい鍵を使っていた場合には、ｄ２として鍵Ｋが得られることがわかる。
【００６７】
次にステップＳ１００５に進む。
ステップＳ１００５において、暗号プロトコル制御部１７２は、ステップＳ１００４において算出した復号結果ｄ２が、鍵情報１７７として保存されている鍵Ｋと一致するか否かを判断する。一致すると判断する場合はステップＳ１００６に進み、一致しないと判断する場合はステップＳ１００７に進む。
【００６８】
ステップＳ１００６において、暗号プロトコル制御部１７２は、情報処理装置１０１および車載通信装置１３１のいずれもが正当な通信相手であると判断し、図１２により表される暗号処理５を終了する。
ステップＳ１００５において否定判断がされると実行されるステップＳ１００７では、暗号プロトコル制御部１７２は、情報処理装置１０１および車載通信装置１３１の少なくとも一方が不正な通信相手であると判断し、図１２により表される暗号処理５を終了する。
【００６９】
車載通信装置１３１は、情報処理装置１０１から検証に失敗した旨を受信すると、ＥＣＵ１３２に検証に失敗した旨を送信する。すなわち、図１１のステップＳ９０５と同様の処理を行う。
ＥＣＵ１３２は、車載通信装置１３１から検証に失敗した旨を受信すると、情報処理装置１０１および車載通信装置１３１の少なくとも一方が不正な通信相手であると判断する。すなわち、図１２のステップＳ１００７と同様の処理を行う。
【００７０】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）本実施の形態における車載情報通信システム１は、車両１０３に搭載される車載通信装置１３１、および電子制御装置、すなわちＥＣＵ１３２、ならびに車両に搭載されない情報処理装置１０１から構成される。電子制御装置、すなわちＥＣＵ１３２は、情報処理装置１０１と事前に共有した共通鍵ＣＫ２が格納される記憶部１７５と、認証のためのメッセージ、すなわち排他的論理和Ｙ０を生成するメッセージ生成部、すなわち暗号処理部１７３（図８のステップＳ６０３）と、共通鍵ＣＫ２を用いて、メッセージ、すなわち排他的論理和Ｙ０に関するメッセージ認証コードＺを生成するＭＡＣ生成部、すなわち暗号処理部１７３（図８のステップＳ６０４）と、メッセージ生成部が生成したメッセージ、およびＭＡＣ生成部が生成したメッセージ認証コードＺを車載通信装置１３１を経由して情報処理装置１０１に送信する通信部１７４と、を備える。情報処理装置１０１は、共通鍵ＣＫ１が格納される記憶部１１４と、共通鍵ＣＫ１、および受信したメッセージを用いて、受信したＭＡＣ、すなわち排他的論理和Ｙ０を検証することによりＥＣＵ１３２の認証が行われるＭＡＣ検証部、すなわち暗号処理部１２４（図１０のステップＳ８０１）と、受信したメッセージ、すなわち排他的論理和Ｙ０、および共通鍵ＣＫ１に基づき、レスポンスコード、すなわち暗号化データｃ２を生成するレスポンスコード生成部、すなわち暗号処理部１２４（図１０のステップＳ８０７）と、ＭＡＣ検証部における検証が成功した場合（図１０のステップＳ８０４：ＹＥＳの場合）に、レスポンスコード生成部が作成したレスポンスコード、すなわち暗号化データｃ２を車載通信装置１３１を経由して電子制御装置、すなわちＥＣＵ１３２に送信する通信部１２０と、を備える。電子制御装置、すなわちＥＣＵ１３２は、共通鍵ＣＫ２に基づき、受信したレスポンスコード、すなわち暗号化データｃ２を検証することにより情報処理装置１０１の認証が行われるレスポンスコード検証部、すなわち暗号処理部１７３（図１２のステップＳ１００１〜Ｓ１００４）をさらに備える。
【００７１】
本実施の形態にかかる認証方法は、車両１０３に搭載される車載通信装置１３１、および電子制御装置、すなわちＥＣＵ１３２、ならびに車両に搭載されない情報処理装置１０１から構成される車載情報通信システムにおける、電子制御装置、すなわちＥＣＵ１３２と情報処理装置１０１との認証方法である。電子制御装置すなわちＥＣＵ１３２が、認証のためのメッセージ、すなわち排他的論理和Ｙ０を生成し、事前に情報処理装置１０１と共有した共通鍵ＣＫ２を用いて、メッセージ、すなわち排他的論理和Ｙ０に関するメッセージ認証コードＺを生成し、生成したメッセージ、および生成したメッセージ認証コードＺを車載通信装置１３１を経由して情報処理装置１０１に送信する。情報処理装置１０１が、共通鍵ＣＫ１、および受信したメッセージ、すなわち排他的論理和Ｙ０を用いて、受信したメッセージ認証コードＺを検証し、受信したメッセージ、および共通鍵ＣＫ１に基づき、レスポンスコード、すなわち暗号化データｃ２を生成し、検証が成功すると、生成したレスポンスコードを車載通信装置１３１を経由して電子制御装置１３２に送信する。電子制御装置すなわちＥＣＵ１３２が、共通鍵ＣＫ２に基づき、受信したレスポンスコードを検証する。
【００７２】
上述した車載情報通信システム１の構成、および認証方法によれば、情報処理装置１０１とＥＣＵ１３２の通信を中継する車載通信装置１３１に対して、秘密情報である共通鍵ＣＫ１を送信しないので、ＥＣＵに関する秘密情報の機密性を確保することができる。そして、秘密情報の機密性を確保しながら、情報処理装置１０１とＥＣＵ１３２とが相互に認証できる。
【００７３】
情報処理装置１０１は、メッセージ認証コードを用いてＥＣＵ１３２を認証する。この認証は以下のように行われる。
情報処理装置１０１とＥＣＵ１３２は、事前に共通鍵を共通鍵ＣＫ１および共通鍵ＣＫ２として共有している。ＥＣＵ１３２は、排他的論理和Ｙ０を生成し、共通鍵ＣＫ２を用いて排他的論理和Ｙ０についてのメッセージ認証コードＺを生成し、排他的論理和Ｙ０とメッセージ認証コードＺを情報処理装置１０１に送信する。情報処理装置１０１は、共通鍵ＣＫ１を用いて受信した排他的論理和Ｙ０についてのメッセージ認証コードを生成する。情報処理装置１０１は、ＥＣＵ１３２から受信したメッセージ認証コードＺと、自ら作成したメッセージ認証コードが一致すると、ＥＣＵ１３２を承認する。事前に共有した共通鍵を保有している者しか、同じメッセージ認証コードを作成できないからである。
【００７４】
ＥＣＵ１３２は、対称鍵暗号を用いて情報処理装置１０１を認証する。この認証は以下のように行われる。
情報処理装置１０１とＥＣＵ１３２は、事前に共通鍵を共通鍵ＣＫ１および共通鍵ＣＫ２として共有している。情報処理装置１０１は、受信した排他的論理和Ｙ０に基づく値を共通鍵ＣＫ１を用いて対称鍵暗号により暗号化し、暗号化データｃ２を生成する。ＥＣＵ１３２は、受信した暗号化データｃ２を復号化し、復号化した値が排他的論理和Ｙ０に基づく値と一致すると、情報処理装置１０１を承認する。対称鍵暗号を用いているので、同一の共通鍵がなければ、正当な暗号化データを生成できないからである。
【００７５】
ＥＣＵ１３２が当該認証を行うために必要な計算処理は、メッセージ認証コードの生成と対称鍵暗号の処理が主である。すなわち、いずれも計算負荷が小さいため、リソースの乏しいＥＣＵ１３２でも十分に実行が可能である。
メッセージ認証コードの生成に使用するアルゴリズム、および対称鍵暗号のアルゴリズムは、情報処理装置１０１とＥＣＵ１３２とで共通であればよく、特定のアルゴリズムに限定されない。そのため、使用するアルゴリズムを容易に変更可能であり、計算機の機能向上に合わせた鍵のビット長の増加、アルゴリズムに脆弱性が発見された場合の対処、将来開発されるアルゴリズムへの変更、などが可能である。
【００７６】
（２）車載通信装置１３１は、公開鍵暗号における公開鍵である第１の公開鍵ＰＫＳおよび公開鍵暗号における秘密鍵である第２の秘密鍵ＳＫＴが格納される記憶部１５５と、第２の秘密鍵ＳＫＴを用いて電子制御装置、すなわちＥＣＵ１３２から受信したメッセージ、すなわち排他的論理和Ｙ０の電子署名である第１の署名σ０を生成する第１署名生成部、すなわち暗号処理部１５３（図９のステップＳ７０１）と、電子制御装置、すなわちＥＣＵ１３２から受信したメッセージ、電子制御装置、すなわちＥＣＵ１３２から受信したメッセージ認証コードＺ、および第１署名生成部が生成した第１の署名を情報処理装置に送信する通信部１５４とを備える。情報処理装置１０１の記憶部１１４には、第１の公開鍵ＰＫＳのペアとなる第１の秘密鍵ＳＫＳおよび第２の秘密鍵ＳＫＴのペアとなる第２の公開鍵ＰＫＴがさらに格納される。情報処理装置１０１は、第２の公開鍵ＰＫＴ、および受信したメッセージを用いて、受信した第１の署名を検証する第１署名検証部、すなわち暗号処理部１２４（図１０のステップＳ８０３）と、乱数ｒ１を生成する乱数生成部、すなわち暗号処理部１２４（図１０のステップＳ８０５）と、乱数生成部が生成した乱数ｒ１を、第２の公開鍵ＰＫＴを用いて暗号化してなる暗号化乱数、すなわち暗号化データｃ１を生成する暗号化部、すなわち暗号処理部１２４（図１０のステップＳ８０６）と、第１の秘密鍵ＳＫＳを用いてレスポンスコード生成部が作成したレスポンスコード、すなわち暗号化データｃ２の電子署名である第２の署名σ１を生成する第２署名生成部、すなわち暗号処理部１２４（図１０のステップＳ８０８）と、をさらに備える。レスポンスコード生成部は、受信したメッセージ、すなわち排他的論理和Ｙ０、共通ＣＰ１、および乱数ｒ１に基づきレスポンスコード、すなわち暗号化データｃ２を生成する。情報処理装置１０１の通信部１２０は、レスポンスコード生成部が作成したレスポンスコード、すなわち暗号化データｃ２、暗号化乱数、すなわち暗号化データｃ１、および第２の署名σ１を、車載通信装置１３１に送信する。車載通信装置１３１は、第１の公開鍵ＰＫＳ、および情報処理装置１０１から受信したレスポンスコード、すなわち暗号化データｃ２を用いて、受信した第２の署名σ１を検証する第２署名検証部、すなわち暗号処理部１５３（図１１のステップＳ９０１）と、第２の秘密鍵ＳＫＴを用いて、受信した暗号化乱数、すなわち暗号化データｃ１を復号化データ、すなわち復号結果ｃ３に復号化する復号化部、すなわち暗号処理部１５３（図１１のステップＳ９０３）とをさらに備える。車載通信装置１３１の通信部１５４は、情報処理装置１０１から受信したレスポンスコード、すなわち暗号化データｃ２、および復号化データ、すなわち復号結果ｃ３を電子制御装置１３２に送信する。電子制御装置、すなわちＥＣＵ１３２のレスポンスコード検証部は、共通鍵ＣＫ２、および復号結果ｃ３に基づき、受信した暗号化データｃ２を検証する。
【００７７】
そのため、鍵ペアを有する情報処理装置１０１、および車載通信装置１３１は、相手が作成した電子署名を公開鍵を用いて検証することにより、認証を行うことができる。電子署名の検証が成功する場合は、その電子署名を作成した者が検証に用いた公開鍵に対応する秘密鍵を保有していることがわかるからである。
情報処理装置１０１とＥＣＵ１３２の間で認証が行われ、情報処理装置１０１と車載通信装置１３１との間で認証が行われる。そのため、車載通信装置１３１とＥＣＵ１３２との間では直接は認証が行われないが、情報処理装置１０１を介して車載通信装置１３１とＥＣＵ１３２の間でも間接的に認証を行うことができる。
【００７８】
（３）電子制御装置、すなわちＥＣＵ１３２のメッセージ生成部、すなわち暗号処理部１７３（図８のステップＳ６０３）は、当該電子制御装置が搭載された車両１０３のイグニッションスイッチがオンにされると、メッセージ、すなわち排他的論理和Ｙ０を生成する。ＭＡＣ生成部、すなわち暗号処理部１７３（図８のステップＳ６０４）は、メッセージ生成部がメッセージを生成するとメッセージ認証コードＺを生成する。通信部１７４は、ＭＡＣ生成部がメッセージ認証コードＺを生成すると、メッセージ生成部が生成したメッセージ、およびＭＡＣ生成部が生成したメッセージ認証コードＺを送信する。
【００７９】
車載通信装置１３１およびＥＣＵ１３２は、車両１０３が走行状態にある場合は多くのデータを処理しており、計算リソースの確保が難しい。そのため、計算リソースに比較的余裕のある車両１０３の始動時、すなわちオペレータによりイグニションスイッチがオンにされた際に認証を行うことができる。
【００８０】
（４）電子制御装置、すなわちＥＣＵ１３２は、第２の乱数ｒ０を生成する第２乱数生成部、すなわち暗号処理部１７３（図８のステップＳ６０１）をさらに備える。電子制御装置、すなわちＥＣＵ１３２の記憶部１７５には、第１の秘密情報、すなわち鍵Ｋ、および第２の秘密情報、すなわち鍵暗号鍵ＫＥＫがさらに格納される。メッセージ生成部、すなわち暗号処理部１７３は、鍵Ｋを鍵暗号鍵ＫＥＫを用いて暗号化して暗号化データＸを生成し、暗号化データＸと第２乱数生成部の生成する第２の乱数ｒ０とのビット演算、すなわち排他的論理和を演算して、メッセージ、すなわち排他的論理和Ｙ０を生成する。
【００８１】
そのため、暗号処理１を実行するたびに新たな乱数ｒ０が生成され、毎回異なる排他的論理和Ｙ０が生成される。生成される乱数には規則性がないため、無線通信網１０２における通信を第三者に傍受されても、次に生成される乱数、および乱数に基づき生成される排他的論理和Ｙ０を予測することが不可能なので、安全性が高められる。
【００８２】
（変形例１）
上述した第１の実施の形態では、図９のステップＳ７０１における署名生成処理と図１１のステップＳ９０３における復号処理において、同一の秘密鍵、すなわち、いずれも第２の秘密鍵ＳＫＴを用いた。しかし署名生成・検証用の鍵ペアと、暗号化・復号化用の鍵ペアを別々に用意してもよい。
【００８３】
たとえば、情報処理装置１０１の鍵情報１１６は第３の公開鍵ＰＫＵがさらに格納され、車載通信装置１３１の鍵情報１５７は第３の秘密鍵ＳＫＵがさらに格納され、以下のように鍵を使用される。車載通信装置１３１は、図９のステップＳ７０１では第１の実施の形態と同様に第２の秘密鍵ＳＫＴを用いて、図１１のステップＳ９０３では第３の秘密鍵ＳＫＵを用いる。情報処理装置１０１は、図１０のステップＳ８０３では第１の実施の形態と同様に第２の公開鍵ＰＫＴを用いて、ステップＳ８０６では第３の公開鍵ＰＫＵを用いる。
この変形例１によれば、さらなる安全性の向上を図ることができる。
【００８４】
（変形例２）
上述した第１の実施の形態では、ＥＣＵ１３２の鍵情報１７７として鍵Ｋ、および鍵暗号鍵ＫＥＫが格納されていた。しかし、暗号処理部１７３が乱数ｒ０を生成する際にさらに乱数を２つ生成し、これらを鍵Ｋ、および鍵暗号鍵ＫＥＫの代替としてもよい。さらに、上述したように生成した２つの乱数を鍵Ｋ、および鍵暗号鍵ＫＥＫとして保存して使用し、図８のステップＳ６０１が一定回数実行されると改めてさらに２つの乱数を生成して、鍵Ｋおよび鍵暗号鍵ＫＥＫを更新してもよい。
【００８５】
（変形例３）
上述した第１の実施の形態では、ユーザによりイグニションキーがＯＮにされると、ＥＣＵ１３２により図７に示したステップＳ５１１およびステップＳ５１２の処理が開始され、それ以後の処理は前段の処理が完了次第、すぐに処理が開始された。しかし、各ステップの処理が開始されるタイミングはこれに限定されない。
たとえば、ユーザ、または情報処理装置１０１からの指令に基づき、ステップＳ５１１およびステップＳ５１２の処理が開始されてもよい。車載通信装置１３１やＥＣＵ１３２の処理の負荷が所定の閾値以下の場合に、ステップＳ５１１およびステップＳ５１２の処理が開始されてもよい。
前段の処理が完了しても、当該機器の処理の負荷が所定の閾値以下となるまで次の処理を開始しなくてもよいし、所定の条件を満たした場合のみ次の処理を開始してもよい。たとえば、情報処理装置１０１が、通信を行っているＥＣＵ１３２のファームウエアが最新版ではないことを検出した場合のみ、ステップＳ５３２の処理を開始してもよい。
【００８６】
（変形例４）
上述した第１の実施の形態では、ＥＣＵ１３２の鍵情報１７７には、鍵Ｋ、および鍵暗号鍵ＫＥＫの両方が格納されていた。しかし、鍵Ｋ、および鍵暗号鍵ＫＥＫのいずれか一方のみが格納されてもよい。
たとえば、鍵情報１７７に鍵暗号鍵ＫＥＫが格納されない場合は、図８のステップＳ６０２において鍵Ｋを暗号化データＸとして用い、図１２のステップＳ１００４の処理を省略する。
【００８７】
（変形例５）
上述した第１の実施の形態とは異なる手順により、メッセージ認証コードＺを生成してもよい。たとえば、鍵Ｋと乱数ｒ０の排他的論理和を鍵暗号鍵ＫＥＫにより暗号化し、これを共通鍵ＣＫ２を用いてメッセージ認証コードＺを生成してもよい。すなわち、この変形例１によるメッセージ認証コードＺの算出式は、以下の式１３により表される。
【数７】
0006345157.tif 000008
【００８８】
（変形例５）
上述した第１の実施の形態では、ＥＣＵ１３２による暗号処理５において、復号結果ｄ２が鍵Ｋと一致するか否かにより正当な通信相手であるか否かを判断した（図１２のステップＳ１００５）。しかし、ステップＳ１００２において算出した排他的論理和Ｙ１が、排他的論理和Ｙ０と一致するか否かにより正当な通信相手であるか否かを判断してもよい。この場合は、ＥＣＵ１３２が、図８のステップＳ６０５において送信した排他的論理和Ｙ０を記憶部１７５に保存し、上述した一致するか否かの判断に使用する。
この変形例１によれば、リソースの乏しいＥＣＵ１３２における計算量を削減することができる。
【００８９】
上述した第１の実施の形態では、さらに以下のように変形してもよい。
（１）情報処理装置１０１は、上述した全てのハードウェア構成を必ずしも具備する必要はなく、例えば、ディスプレイ１１２またはキーボード１１３を備えなくてもよい。
（２）送受信テーブル１１７、および情報管理テーブル１５８は、上述した全ての情報を必ずしも含んでいる必要はなく、上述した情報以外を含んでいてもよい。例えば、情報管理テーブル１５８が、情報処理装置１０１を認証するために使用する鍵情報を識別するための情報処理装置公開情報ＩＤなどを含んでいてもよい。
【００９０】
（３）記憶部１１４は、上述した情報以外を格納していてもよく、例えば、車載通信装置１３１やＥＣＵ１３２の各種ファームウェアを格納していてもよい。
（４）処理部１２１、１５１、１７１の行う処理の一部が、ハードウエア回路により実現されてもよい。たとえば、乱数生成器により乱数が生成されてもよい。
【００９１】
（第２の実施の形態）
図１３〜１５を参照して、本発明による車載情報通信システムの第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、ファームウェア書き込みシーケンスにおいてセッション鍵を使用する点で、第１の実施の形態と異なる。
【００９２】
（構成）
第２の実施の形態における車載情報通信システム１の構成は、情報処理装置１０１の記憶部１１４、およびＥＣＵ１３２の記憶部１７５にセッション鍵が保存される点が第１の実施の形態と異なる。ただし、セッション鍵は鍵情報のようには事前に共有されておらず、後述するように認証フローが開始されてから生成、または暗号化された状態で配送される。
第２の実施の形態では、プログラムの動作が第１の実施の形態と異なる。具体的には、第１の実施の形態において図７を用いて説明した認証処理フローの概要は第１の実施の形態と同様であり、ステップＳ５１２の暗号処理１、ステップＳ５２２の暗号処理２、およびステップＳ５３２の暗号処理３が第１の実施の形態と異なる。
【００９３】
（暗号処理１のフローチャート）
図１３は、第２の実施の形態における暗号処理１の具体例を示すフローチャートである。第１の実施の形態と同様の処理には同一のステップ番号を付与し、説明を省略する。
ステップＳ６０４の次に実行されるステップＳ１１０１において、暗号プロトコル制御部１７２は、暗号処理部１７３に以下の処理を実行させる。すなわち、乱数であるセッション鍵ＳＳを生成させて記憶部１７５に保存し、鍵情報１７７として保存されている共通鍵ＣＫ２を用いてセッション鍵ＳＳを暗号化させ、暗号化セッション鍵ＥＳＳを生成させる。次にステップＳ１１０２に進む。
【００９４】
ステップＳ６０５において、暗号プロトコル制御部１７２は、ステップ６０３で生成した排他的論理和Ｙ０、ステップ６０４で生成したメッセージ認証コードＺ、およびステップＳ１１０１で生成した暗号化セッション鍵ＥＳＳを、通信部１７４を用いて車載通信装置１３１に送信する。以上で、図１３により表される第２の実施の形態における暗号処理１が終了する。
【００９５】
（暗号処理２のフローチャート）
図１４は、第２の実施の形態における暗号処理２の具体例を示すフローチャートである。第１の実施の形態と同様の処理には同一のステップ番号を付与し、説明を省略する。
ステップＳ７０１の次に実行されるステップＳ１２０１において、暗号プロトコル制御部１５２は、ステップＳ７０１において生成させた署名σ０、受信した排他的論理和Ｙ０、受信したメッセージ認証コードＺ、および受信した暗号化セッション鍵ＥＳＳを、通信部１５４を用いて情報処理装置１０１に送信させる。以上で、図１４により表される第２の実施の形態における暗号処理２が終了する。
【００９６】
（暗号処理３のフローチャート）
図１５は、第２の実施の形態における暗号処理３の具体例を示すフローチャートである。第１の実施の形態と同様の処理には同一のステップ番号を付与し、説明を省略する。
ステップＳ８０４において肯定判定されると実行されるステップＳ１３０１において、暗号プロトコル制御部１２３は、暗号処理部１２４に以下の処理を実行させる。すなわち、鍵情報１１６として保存されている共通鍵ＣＫ１を用いて、受信した暗号化セッション鍵ＥＳＳを復号化させ、復号セッション鍵ＤＳＳとして記憶部１１４に保存する。次にステップＳ８０５に進む。
【００９７】
（認証完了後の通信）
ＥＣＵ１３２は、認証完了後の通信において、情報処理装置１０１に発信するデータはセッション鍵ＳＳを用いて暗号化し、情報処理装置１０１から受信するデータはセッション鍵ＳＳを用いて復号化する。
情報処理装置１０１は、認証完了後の通信において、ＥＣＵ１３２に発信するデータは復号セッション鍵ＤＳＳを用いて暗号化し、ＥＣＵ１３２から受信するデータは復号セッション鍵ＤＳＳを用いて復号化する。
情報処理装置１０１およびＥＣＵ１３２が正しい鍵を使用していれば、セッション鍵ＳＳと復号セッション鍵ＤＳＳは同一なので、情報処理装置１０１とＥＣＵ１３２との間の通信を暗号化することができる。
【００９８】
上述した第２の実施の形態によれば、次の作用効果が得られる。
（１）ＥＣＵ１３２は、認証完了後の通信に用いるセッション鍵ＳＳを生成し、共通鍵ＣＫ２により暗号化して暗号化セッション鍵ＥＳＳを生成し、情報処理装置１０１に送信する。情報処理装置１０１は、受信した暗号化セッション鍵ＥＳＳを共通鍵ＣＫ１により復号化して復号セッション鍵ＤＳＳを得る。
そのため、認証完了後の通信を、セッション鍵ＳＳおよび復号セッション鍵ＤＳＳを用いて暗号化することができる。また、このセッション鍵ＳＳは暗号処理１が実行されるたびに生成されるので、ある時にセッション鍵ＳＳが外部に漏れても影響を限定的に留めることができる。
【００９９】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【０１００】
１  …  車載情報通信システム
１０１  …  情報処理装置
１０２  …  無線通信網
１０３  …  車両
１１４、１５５、１７５  …  記憶部
１１６、１５７、１７７  …  鍵情報
１１７  …  送受信テーブル
１２０、１５４、１７４  …  通信部
１２１、１５１、１７１  …  処理部
１２３、１５２、１７２  …  暗号プロトコル制御部
１２４、１５３，１７３  …  暗号処理部
１３１、１５４、１７４  …  車載通信装置
１３２  …  ＥＣＵ
１５８  …  情報管理テーブル
Ｋ  …  鍵
Ｘ  …  暗号化データ
Ｚ  …  メッセージ認証コード
ＳＳ  …  セッション鍵
Ｙ０  …  排他的論理和
ｃ１、ｃ２  …  暗号化データ
ｃ３  …  復号結果
ｄ１、ｄ２  …  復号結果
ｒ０、ｒ１  …  乱数
ＣＫ１  …  共通鍵
ＣＫ２  …  共通鍵
ＫＥＫ  …  鍵暗号鍵
ＰＫＳ  …  第１の公開鍵
ＰＫＴ  …  第２の公開鍵
ＳＫＳ  …  第１の秘密鍵
ＳＫＴ  …  第２の秘密鍵
【図１】
0006345157.tif 000009
【図２】
0006345157.tif 000010
【図３】
0006345157.tif 000011
【図４】
0006345157.tif 000012
【図５】
0006345157.tif 000013
【図６】
0006345157.tif 000014
【図７】
0006345157.tif 000015
【図８】
0006345157.tif 000016
【図９】
0006345157.tif 000017
【図１０】
0006345157.tif 000018
【図１１】
0006345157.tif 000019
【図１２】
0006345157.tif 000020
【図１３】
0006345157.tif 000021
【図１４】
0006345157.tif 000022
【図１５】
0006345157.tif 000023