【解決手段】電子制御装置132は、情報処理装置101と事前に共有した共通鍵を格納しており、認証のためのメッセージを生成し、共通鍵を用いてメッセージに関するメッセージ認証コードを生成し、生成したメッセージ、およびメッセージ認証コードを車載通信装置131を経由して情報処理装置101に送信する。情報処理装置101は、共通鍵を格納しており、共通鍵、および受信したメッセージを用いて、受信したメッセージ認証コードを検証する。メッセージ認証コードの検証が成功すると、受信したメッセージ、および共通鍵に基づき、レスポンスコードを生成し、車載通信装置131を経由して電子制御装置132に送信する。電子制御装置132は、共通鍵に基づき、受信したレスポンスコードを検証する。
車両に搭載される車載通信装置、および電子制御装置、ならびに車両に搭載されない情報処理装置から構成される車載情報通信システムにおける前記電子制御装置と前記情報処理装置との認証方法であって、
前記電子制御装置が、
認証のためのメッセージを生成し、
事前に前記情報処理装置と共有した共通鍵を用いて、前記メッセージに関するメッセージ認証コードを生成し、
前記生成したメッセージ、および前記生成したメッセージ認証コードを前記車載通信装置を経由して前記情報処理装置に送信し、
前記情報処理装置が、
前記共通鍵、および受信したメッセージを用いて、受信した前記メッセージ認証コードを検証することにより前記電子制御装置を認証し、
前記受信したメッセージ、および前記共通鍵に基づき、レスポンスコードを生成し、
前記検証が成功すると、前記生成したレスポンスコードを前記車載通信装置を経由して前記電子制御装置に送信し、
前記電子制御装置が、
前記共通鍵に基づき、受信した前記レスポンスコードを検証ことにより前記情報処理装置を認証する、認証方法。
【発明を実施するための形態】
【0008】
(第1の実施の形態)
以下、
図1〜12を参照して、本発明による車載情報通信システムの一実施形態を説明する。
図1は、本発明の第1の実施形態における車載情報通信システム1の概略的な構成を示す図である。
図1に示すように、車載情報通信システム1は、情報処理装置101、および車両103を含む。情報処理装置101および車両103は、無線通信網102を介して互いに通信可能に接続される。
図1では、車載情報通信システム1は1つの情報処理装置101、および1台の車両103から構成されているが、複数の情報処理装置101、および複数の車両103から構成されてもよい。
【0009】
車両103は、車載通信装置131、および複数のECU132から構成される。車載通信装置131、および複数のECU132は車載ネットワーク133により互いに通信可能に接続される。車載通信装置131のみが無線通信網102に接続されており、いずれのECU132も車載通信装置131を介さなければ情報処理装置101と通信ができない。
【0010】
(情報処理装置101の構成)
情報処理装置101は、たとえばサーバ装置である。
図1に示すように、情報処理装置101は、入出力インタフェース111、記憶部114、可搬型記憶媒体インタフェース部119、通信部120、および処理部121を備える。入出力インタフェース111、記憶部114、可搬型記憶媒体インタフェース部119、通信部120、および処理部121は、バス118を介して互いに通信可能に接続される。記憶部114には、定数115、鍵情報116、および送受信テーブル117が保存される。処理部121は、暗号プロトコル制御部123と、暗号処理部124とを備える。
【0011】
入出力インタフェース111は、処理部121とディスプレイ112、及びキーボード113との間で入出力される信号のインタフェース処理を行う。処理部121は、入出力インタフェース111を介して信号をディスプレイ112に出力することで、各種情報を表示する。処理部121は、キーボード113から入出力インタフェース111を介して出力された操作信号を取得し、情報処理装置101に対する操作者の操作を検出し、その操作内容に応じた処理を行うことができる。
【0012】
記憶部114は、例えば、ROM、RAM、NVRAM(Non Volatile RAM)、ハードディスクドライブ、SSD(Solid State Drive)、光学式記憶装置等により構成される。記憶部114には、定数115、鍵情報116、および送受信テーブル117が格納される。
定数115とは暗号処理で使用する定数などであり、たとえば楕円曲線暗号におけるベースポイント、RSA暗号における公開鍵暗号指数eなどである。
【0013】
鍵情報116は、認証に用いる複数の鍵の情報である。ここで言う鍵とは予め定めた電子データであり、たとえば非常に大きな数である。鍵の種類や性質、およびその働きは後述する。鍵情報116には、それぞれの通信先に対応する鍵が用意されており、通信先と鍵の対応関係が送受信テーブル117に記録されている。送受信テーブル117には、車載通信装置131、ECU132を識別するための識別情報、および個別の車載通信装置131およびECU132に対応する鍵情報116の識別情報が含まれる。
【0014】
図2は、送受信テーブル117の一例を示す図である。送受信テーブル117は、車両103を識別するための車両ID、車載通信装置131を識別するための車載通信装置ID、ECU132を識別するためのECUID、ECU132を製造したECU製造会社を識別するためのECU製造会社ID、ECU132のファームウェアのバージョン情報を識別するファームウェアバージョン情報、ECU132の認証に使用する鍵情報を識別するためのECU鍵情報ID、及び車載通信装置131を認証に使用する鍵情報を識別するための車載通信装置秘密情報IDから構成される。
図1に戻って説明を続ける。
【0015】
可搬型記憶媒体インタフェース部119は、情報処理装置101に可搬型の記憶媒体を接続するためのインタフェース装置である。処理部121は、可搬型記憶媒体インタフェース部119を介して接続されたUSBメモリや各種メモリカードとの間で、データの読み出しおよび書き出しを行う。
通信部120は、無線通信網102を介して車両103と通信を行う。
無線通信網102は、携帯電話網、または無線LANである。
【0016】
(処理部121)
処理部121は、CPU、ROM、およびRAMから構成される。CPUは、ROMに保存されているプログラムをRAMに展開して実行する。ただし、処理部121はCPUに代えてMPUにより構成されてもよいし、CPUとともにMPUが用いられてもよい。
ROMに保存されるプログラムが有する機能を機能ブロックとして表したものが、暗号プロトコル制御部123、および暗号処理部124である。
暗号プロトコル制御部123は、後述する認証処理を制御する。暗号処理部124は、認証処理に用いられる各種暗号処理を行う。
【0017】
(車載通信装置131の構成)
図3は、車載通信装置131の構成を示すブロック図である。
車載通信装置131は、処理部151と、通信部154と、記憶部155とを備える。
処理部151は、CPU、ROM、およびRAMから構成される。CPUは、ROMに保存されているプログラムをRAMに展開して実行する。ただし、処理部151はCPUに代えてMPU(Micro Processing Unit)により構成されてもよいし、CPUとともにMPUが用いられてもよい。
【0018】
ROMに保存されるプログラムが有する機能を機能ブロックとして表したものが、暗号プロトコル制御部152、および暗号処理部153である。
暗号プロトコル制御部152は、後述する認証処理を制御する。暗号処理部153は、認証処理に用いられる各種暗号処理を行う。
通信部154は、無線通信網102を介して情報処理装置101と通信を行い、車載ネットワーク133を介してECU132と通信を行う。
【0019】
記憶部155は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、NVRAM(Non Volatile RAM)、ハードディスクドライブ、SSD、光学式記憶装置等により構成される。記憶部155には、定数156、鍵情報157、および情報管理テーブル158が格納される。
定数156とは暗号処理で使用する定数などであり、たとえば楕円曲線暗号におけるベースポイント、RSA暗号における公開鍵暗号指数eなどである。
鍵情報157は、認証に用いる複数の鍵の情報である。鍵の種類およびその働きは後述する。鍵情報157には、それぞれの通信先に対応する鍵が用意されており、通信先と鍵の対応関係が送受信テーブル158に記録されている。情報管理テーブル158には、情報処理装置101を識別するための識別情報、および個別の情報処理装置101に対応する鍵情報157の識別情報が含まれる。
【0020】
図4は、情報管理テーブル158の一例を示す図である。
情報管理テーブル158は、車載通信装置131が車両103内の車載ネットワークに接続されたECU132の識別や、ECU132のファームウェアバージョン情報を管理するために利用される。
情報管理テーブル158は、車両103を識別するための車両ID、通信先の情報処理装置101を識別するための情報処理装置ID、ECU132を識別するためのECUID、ECU132を製造したECU製造会社を識別するためのECU製造会社ID、ECU132のファームウェアのバージョン情報を識別するファームウェアバージョン情報、および情報処理装置101の認証に使用する鍵情報157を識別するための情報処理装置秘密情報IDから構成される。
【0021】
(ECU132の構成)
図5は、ECU132の構成を示すブロック図である。
ECU132は、処理部171と、通信部174と、記憶部175とを備える。
処理部171は、CPU、ROM、およびRAMから構成される。CPUは、ROMに保存されているプログラムをRAMに展開して実行する。ただし、処理部171はCPUに代えてMPU(Micro Processing Unit)により構成されてもよいし、CPUとともにMPUが用いられてもよい。
【0022】
ROMに保存されるプログラムが有する機能を機能ブロックとして表したものが、暗号プロトコル制御部172、および暗号処理部173である。
暗号プロトコル制御部172は、後述する認証処理を制御する。暗号処理部173は、認証処理に用いられる各種暗号処理を行う。暗号プロトコル制御部172は、車両103が備える不図示のイグニションキーがユーザによりONにされると、後述する処理を開始する。
通信部174は、車載ネットワーク133を介して車載通信装置131と通信を行う。
記憶部175は、例えば、ROM、RAM、NVRAM、ハードディスクドライブ、SSD、光学式記憶装置等により構成される。記憶部175には、定数176、および鍵情報177が格納される。
【0023】
定数176とは暗号処理で使用する定数などであり、たとえば楕円曲線暗号におけるベースポイント、RSA暗号における公開鍵暗号指数eなどである。
鍵情報177は、特定の情報処理装置101との認証に用いる複数の鍵の情報である。鍵の種類およびその働きは後述する。ECU132は、特定の情報処理装置101とのみ通信を行うので、情報処理装置101や車載通信装置131のように、複数の通信先に対応する鍵を保有していない。そのため、送受信テーブル117や情報管理テーブル158に相当する情報も保有しない。
【0024】
(鍵情報)
図6を用いて、情報処理装置101に保存される鍵情報116、車載通信装置131に保存される鍵情報157、およびECU132に保存される鍵情報177を説明する。ただし、
図6にはある1組の情報処理装置101、車載通信装置131、およびECU132の認証に用いられる鍵情報のみを示している。
図6の図示上下方向の高さが同一の鍵は、同一または相関があることを示す。
【0025】
図6は、情報処理装置101、車載通信装置131、およびECU132が備える鍵情報の相関を示す図である。情報処理装置101は、共通鍵CK1と、第1の秘密鍵SKSと、第2の公開鍵PKTとを備える。車載通信装置131は、第1の公開鍵PKSと、第2の秘密鍵SKTとを備える。ECU132は、鍵Kと、鍵暗号鍵KEKと、共通鍵CK2とを備える。鍵Kと、鍵暗号鍵KEKと、共通鍵CK2は、ECU132が保有する秘密情報である。鍵Kは、たとえば外部からECU132に動作指令を出力する際に必要となる情報である。
【0026】
ECU132が備える鍵Kおよび鍵暗号鍵KEKは、ECU132のみが備える鍵である。
情報処理装置101が備える共通鍵CK1と、ECU132が備える共通鍵CK2は同一であり、これらはいわゆる共有秘密鍵である。共通鍵CK1および共通鍵CK2は、事前に安全な配送手段により情報処理装置101とECU132により共有されている。
第1の秘密鍵SKSと第1の公開鍵PKSは、公開鍵暗号に対応する一対の鍵、いわゆる鍵ペアである。第2の公開鍵PKTと第2の秘密鍵SKTも同様に、公開鍵暗号に対応する一対の鍵、いわゆる鍵ペアである。第1の秘密鍵SKS、および第2の秘密鍵SKTは、いわゆるプライベートキーである。第1の公開鍵PKSおよび第2の公開鍵PKTは、いわゆるパブリックキーである。
【0027】
情報処理装置101とECU132の間では、共通鍵CK1および共通鍵CK2を用いて相互に認証が行われる。情報処理装置101と車載通信装置131の間では、一方が秘密鍵を用いて電子署名(以下、署名と呼ぶ)を作成し、他方が対応する公開鍵を用いてその署名を検証することで認証が行われる。
【0028】
(認証処理の概要)
情報処理装置101、車載通信装置131、およびECU132による認証処理の概要を説明する。
図7は、認証処理の概要を示す遷移図である。図示上から下に向かって時間が経過している。
ECU132の処理部171は、車両103のイグニッションスイッチがONにされると、記憶部175から鍵情報177を読み込む(ステップS511)。ECU132の処理部171は、ステップS511で取得した鍵情報177を用いて暗号処理1を実施する(ステップS512)。ステップS512の暗号処理1は、例えば、後述する
図8のフローチャートにより実現される。ECU132の通信部174は、ステップS512で生成された情報を同一の車両103に搭載された車載通信装置131に送信する(ステップS513)。
【0029】
車載通信装置131がステップS513で送信されたデータを受信すると、車載通信装置131の処理部151は、記憶部155から鍵情報157を読み込む(ステップS521)。
車載通信装置131の処理部151は、ステップS513で受信したデータ、およびステップS521で取得した鍵情報157を用いて暗号処理2を実施する(ステップS522)。ステップS522の暗号処理2は、例えば、後述する
図9のフローチャートにより実現される。
【0030】
車載通信装置131の通信部154は、ステップS522で生成された情報などを無線通信網102を介して情報処理装置101に送信する(ステップS523)。
情報処理装置101がステップS523で送信されたデータを受信すると、情報処理装置101の処理部121は、記憶部114に格納された鍵情報116を読み込む(ステップS531)。
情報処理装置101の処理部121は、受信したデータおよびステップS531で取得した鍵情報116を用いて暗号処理3を実施する(ステップS532)。ステップS532の暗号処理3は、例えば、後述する
図10のフローチャートにより実現される。この暗号処理3において、情報処理装置101による車載通信装置131およびECU132の認証が行われる。
【0031】
情報処理装置101の通信部120は、ステップS532で生成されたデータを車載通信装置131に送信する(ステップS533)。
車載通信装置131がステップS533で送信されたデータを受信すると、車載通信装置131の処理部151は、記憶部155から鍵情報157を読み込む(ステップS541)。処理部151は、ステップS541で取得した鍵情報157および受信したデータを用いて暗号処理4を実施する(ステップS542)。ステップS542の暗号処理4は、例えば、後述する
図11のフローチャートにより実現される。この暗号処理4において、車載通信装置131による情報処理装置101の認証が行われる。
車載通信装置131の通信部154は、ステップS542で生成された情報を含むデータをECU132に送信する(ステップS543)。
【0032】
ECU132がステップS543で送信されたデータを受信すると、ECU132の処理部171は、記憶部175から鍵情報177を読み込む(ステップS551)。
ECU132の処理部171は、ステップS551で取得した情報を用いて暗号処理5を実施する(ステップS552)。ステップS552の暗号処理5は、例えば、後述する
図12のフローチャートにより実現される。この暗号処理5において、ECU132による情報処理装置101および車載通信装置131の認証が行われる。
ECU132の通信部174は、ステップS552における認証結果を車載通信装置131に送信する(ステップS561)。
【0033】
車載通信装置131がステップS561で送信された判定結果を受信すると、車載通信装置131の処理部151は、記憶部155に判定結果を格納する。通信部154は、受信した判定結果を情報処理装置101に送信する(ステップS562)。
情報処理装置101がステップS562で送信された判定結果を受信すると、情報処理装置101の処理部121は、記憶部114に判定結果を格納する。
ECU132の処理部171は、ステップS561の実行が完了すると、記憶部175に格納した認証の判定結果を読み出し、認証に成功したか否かを判断する。認証に成功したと判断する場合にはステップS572に進み、認証に失敗したと判断する場合は終了する(ステップS571)。ECU132の処理部171は、ステップS571において認証に成功したと判断した場合にはファームウェア書き込みシーケンスに移行する(ステップS572)。
【0034】
車載通信装置131の処理部151は、ステップS562の実行が完了すると、記憶部155に格納した認証の判定結果を読み出し、認証に成功したか否かを判断する。認証に成功したと判断する場合にはステップS582に進み、認証に失敗したと判断する場合は終了する(ステップS581)。車載通信装置131の処理部151は、ステップS581において認証に成功したと判断した場合にはファームウェア書き込みシーケンスに移行する(ステップS582)。
【0035】
情報処理装置101の処理部121は、ステップS562の受信をトリガーとして、認証に成功したか否かを判断する。認証に成功したと判断する場合にはステップS592に進み、認証に失敗したと判断する場合は終了する(ステップS591)。
情報処理装置101の処理部121は、ステップS591において認証に成功したと判断した場合には、ファームウェア書き込みシーケンスに移行する(ステップS592)。
ステップS572、ステップS582、及びステップS592のファームウェア書き込みシーケンスでは、情報処理装置101、車載通信装置131、ECU132が互いに通信を行いながらファームウェア更新処理を行う。このファームウェア更新処理において、改めてファームウェアの暗復号処理、署名の生成、メッセージ認証コード(Message Authentication Code;以下、「MAC」と表記する場合もある)の生成、署名やMACの検証などのセキュリティ機能を実施してもよく、その方法は問わない。
【0036】
(暗号処理の詳細)
以下、
図8〜12を用いて
図7において示した暗号処理1〜5の詳細を説明する。
【0037】
(暗号処理1のフローチャート)
図8は、
図7においてステップS512として示した暗号処理1の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、ECU132の暗号プロトコル制御部172である。暗号プロトコル制御部172は、車両103のイグニッションスイッチがONにされると、以下の処理を開始する。
【0038】
ステップS601において、暗号プロトコル制御部172は、暗号処理部173に乱数r0を生成させ、記憶部175に格納する。次にステップS602に進む。
ステップS602において、暗号プロトコル制御部172は、暗号処理部173に鍵暗号鍵KEKを用いて鍵Kを暗号化させる。本ステップにおいて用いられる鍵Kおよび鍵暗号鍵KEKは、鍵情報177として記憶部175に保存されていた情報である。本ステップにおいて暗号処理部173により生成されたデータを、以下では暗号化データXと呼ぶ。ここで、暗号文の生成を「暗号文=ENC
暗号化鍵(平文)」という書式で表すと、本ステップの処理は以下の式1により表される。
X=Enc
KEK(K)・・・(式1)
次にステップS603に進む。
【0039】
ステップS603において、暗号プロトコル制御部172は、暗号処理部173にステップS602で生成した暗号化データXと、ステップS601で生成した乱数r0との排他的論理和を計算させ、排他的論理和Y0として記憶部175に格納する。ここで、排他的論理和(exclusive or;以下、「XOR」と表記する場合がある)の演算子を○の中に十字の記号を用いて表すと、本ステップの処理は以下の式2により表される。
【0041】
次にステップS604に進む。
ステップS604において、暗号プロトコル制御部172は、ステップS603で生成した排他的論理和Y0をメッセージ、共通鍵CK2を鍵としてメッセージ認証コードZを生成する。ここで、メッセージ認証コードの生成を「メッセージ認証コード=MAC
鍵(メッセージ)」という書式で表すと、本ステップの処理は以下の式3により表される。
Z=MAC
CK2(Y0)・・・(式3)
次にステップS605に進む。
【0042】
ステップS605において、暗号プロトコル制御部172は、ステップ603で生成した排他的論理和Y0、及びステップ604で生成したメッセージ認証コードZを通信部174を用いて車載通信装置131に送信する。以上で、
図8により表される暗号処理1が終了する。
【0043】
(暗号処理2のフローチャート)
図9は、
図7においてステップS522として示した暗号処理2の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、車載通信装置131の暗号プロトコル制御部152である。暗号プロトコル制御部152は、ECU132から排他的論理和Y0およびメッセージ認証コードZを受信すると、以下の処理を開始する。
ステップS701において、暗号プロトコル制御部152は、暗号処理部153に以下の処理を実行させる。すなわち、鍵情報157として保存されている第2の秘密鍵SKTを用いて、受信した排他的論理和Y0の署名である署名σ0を生成させる。次にステップS702に進む。
ステップS702において、暗号プロトコル制御部152は、ステップS701において生成させた署名σ0、受信した排他的論理和Y0、受信したメッセージ認証コードZを、通信部154を用いて情報処理装置101に送信させる。以上で、
図9により表される暗号処理2が終了する。
【0044】
(暗号処理3のフローチャート)
図10は、
図7においてステップS532として示した暗号処理3の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、情報処理装置101の暗号プロトコル制御部123である。暗号プロトコル制御部123は、車載通信装置131から署名σ0、排他的論理和Y0、およびメッセージ認証コードZを受信すると、以下の処理を開始する。
ステップS801において、暗号プロトコル制御部123は、暗号処理部124に以下の処理を実行させる。すなわち、鍵情報116として保存されている共通鍵CK1と、受信した排他的論理和Y0とを用いて、受信したメッセージ認証コードZを検証させる。具体的には、前述のステップS604と同様にメッセージ認証コードを生成させる。次にステップS802に進む。
【0045】
ステップS802において、暗号プロトコル制御部123は、受信したメッセージ認証コードZは正当であるか否かを判断する。換言すると、受信したメッセージ認証コードZと、ステップS801において生成したメッセージ認証コードが一致するか否かを判断する。受信したメッセージ認証コードZは正当である、すなわち、受信したメッセージ認証コードZとステップS801において生成したメッセージ認証コードが一致すると判断する場合はステップS803に進む。受信したメッセージ認証コードZは正当ではない、すなわち、受信したメッセージ認証コードZとステップS801において生成したメッセージ認証コードが一致しないと判断する場合はステップS810に進む。
【0046】
メッセージ認証コードZの検証により、メッセージ認証コードZを生成したECU132が情報処理装置101と同一の共通鍵を所有していることが確認される。すなわち、同一の共通鍵を所有していることにより、情報処理装置101がメッセージ認証コードZを生成したECU132を認証した場合に、ステップS803に処理が進む。
ステップS803において、暗号プロトコル制御部123は、暗号処理部124に以下の処理を実行させる。すなわち、鍵情報116として保存されている第2の公開鍵PKTと受信した排他的論理和Y0を用いて受信した署名σ0を検証させる。
【0047】
ステップS804において、暗号プロトコル制御部123は、受信した署名σ0が正当であるか否かを判断する。受信した署名σ0が正当であると判断する場合はステップS805に進み、受信した署名σ0が正当ではないと判断する場合はステップS810に進む。
署名σ0の検証により、署名σ0を生成した車載通信装置131が、第2の公開鍵PKTに対応する第2の秘密鍵SKTを所有していることが確認される。すなわち情報処理装置101は、第2の秘密鍵SKTを所有していることを理由として署名σ0を生成した車載通信装置131を認証し、ステップS805に処理が進む。
【0048】
ステップS805において、暗号プロトコル制御部123は、暗号処理部124に乱数r1を生成させ、記憶部114に格納する。次にステップS806に進む。
ステップS806において、暗号プロトコル制御部123は、暗号処理部124に以下の処理を実行させる。すなわち、鍵情報116として保存されている第2の公開鍵PKTを用いて乱数r1を暗号化させ、暗号化データc1を生成させる。本ステップの処理は以下の式4により表される。
【0049】
c1=Enc
PKT(r1)・・・(式4)
次にステップS807に進む。
ステップS807において、暗号プロトコル制御部123は、暗号処理部124に以下の処理を実行させる。すなわち、受信した排他的論理和Y0と乱数r1の排他的論理和を算出し、さらに共通鍵CK1を用いて暗号化し、暗号化データc2を生成させる。本ステップの処理は以下の式5により表される。
【0051】
次にステップS808に進む。
ステップS808において、暗号プロトコル制御部123は、暗号処理部124に以下の処理を実行させる。すなわち、鍵情報157として保存されている第1の秘密鍵SKSを用いて、ステップS808において生成したc2の署名である署名σ1を生成させる。次にステップS809に進む。
【0052】
ステップS809において、暗号プロトコル制御部123は、ステップS806において作成した暗号化データc1、ステップS807において生成した暗号化データc2、およびステップS808において生成した署名σ1を、通信部120を用いて車載通信装置131に送信させる。以上で、
図10により表される暗号処理3が終了する。
ステップS802またはステップS804において否定判断された場合に実行されるステップS810では、暗号プロトコル制御部123は、検証に失敗した旨を通信部120を用いて車載通信装置131に送信させる。以上で、
図10により表される暗号処理3が終了する。
【0053】
(暗号処理4のフローチャート)
図11は、
図7においてステップS542として示した暗号処理4の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、車載通信装置131の暗号プロトコル制御部152である。暗号プロトコル制御部152は、情報処理装置101から暗号化データc1、暗号化データc2、および署名σ1を受信すると、以下の処理を開始する。
ステップS901において、暗号プロトコル制御部152は、暗号処理部153に以下の処理を実行させる。すなわち、鍵情報157として保存されている第1の公開鍵PKSと、受信した暗号化データc2とを用いて、署名σ1を検証させる。
【0054】
ステップS902において、暗号プロトコル制御部152は、受信した署名σ1が正当であるか否かを判断する。受信した署名σ1が正当であると判断する場合はステップS903に進み、受信した署名σ1が正当ではないと判断する場合はステップS905に進む。
署名σ1の検証により、署名σ1を生成した情報処理装置101が、第1の公開鍵PKSに対応する第1の秘密鍵SKSを所有していることが確認される。すなわち車載通信装置131は、第1の秘密鍵SKSを所有していることを理由として署名σ1を生成した情報処理装置101を認証し、ステップS903に処理が進む。
【0055】
ステップS903において、暗号プロトコル制御部152は、暗号処理部153に以下の処理を実行させる。すなわち、鍵情報157として保存されている第2の秘密鍵SKTを用いて、受信した暗号化データc1を復号し、復号結果c3を生成させる。
図10のステップ806において説明したように、暗号化データc1は、第2の公開鍵PKTを用いて乱数r1を暗号化したものである。そのため、情報処理装置101および車載通信装置131が正しい鍵を使用していれば、復号結果c3は乱数r1となる。次にステップS904に進む。
【0056】
ステップS904において、暗号プロトコル制御部152は、ステップS903において生成した復号結果c3および受信した暗号化データc2を、通信部154を用いてECU132に送信させる。以上で、
図11により表される暗号処理4が終了する。
ステップS902において否定判断された場合に実行されるステップS905では、暗号プロトコル制御部152は、通信部154を用いてECU132に検証に失敗した旨を送信させる。以上で、
図11により表される暗号処理4が終了する。
【0057】
(暗号処理5のフローチャート)
図12は、
図7においてステップS552として示した暗号処理5の具体例を示すフローチャートである。以下に説明する各ステップの実行主体は、ECU132の暗号プロトコル制御部172である。暗号プロトコル制御部172は、車載通信装置131から復号結果c3および暗号化データc2を受信すると、以下の処理を開始する。
ステップS1001において、暗号プロトコル制御部172は、暗号処理部173に以下の処理を実行させる。すなわち、鍵情報177として保存されている共通鍵CK2を用いて、受信した暗号化データc2を復号し、復号結果d1を生成させる。平文の生成を「平文=Dec
復号化鍵(暗号文)」という書式で表すと、本ステップの処理は、以下の式6により表される。
【0058】
d1=Dec
CK2(c2)・・・(式6)
次にステップS1002に進む。
ステップS1002において、暗号プロトコル制御部172は、暗号処理部173に以下の処理を実行させる。すなわち、ステップS1001において生成した復号結果d1と、受信した復号結果c3のXORである、排他的論理和Y1を算出させる。本ステップの処理は、以下の式7により表される。
【0060】
次にステップS1003に進む。
ステップS1003において、暗号プロトコル制御部172は、暗号処理部173に以下の処理を実行させる。すなわち、ステップS1002において算出した排他的論理和Y1と、
図8のステップS601において生成した乱数r0のXORである排他的論理和Y2を算出させる。本ステップの処理は、以下の式8により表される。
【0062】
次にステップS1004に進む。
ステップS1004において、暗号プロトコル制御部172は、暗号処理部173に以下の処理を実行させる。すなわち、鍵情報177として保存されている鍵暗号鍵KEKを用いて、ステップS1003において算出した排他的論理和Y2を復号し、復号結果d2を生成させる。ここで、平文の生成を「平文=Dec
復号化鍵(暗号文)」という書式で表すと、本ステップの処理は、以下の式9により表される。
d2=Dec
KEK(Y2)・・・(式9)
ここで、式9に式2、および式5〜8を代入すると式10が得られる。
【0064】
さらに、ステップS903において述べたように、情報処理装置101および車載通信装置131が正しい鍵を使用していれば、復号結果c3は乱数r1となる。さらに、情報処理装置101とECU132が正しい鍵を使用していれば、共通鍵CK1と共通鍵CK2は同一なので、暗号化と復号化が相殺される。そのため、式10は以下の式11のように変形される。
【0066】
XOR演算は2回繰り返せば元に戻るので、r0およびr1によるXOR演算が相殺される。さらに、式11に式1を代入してメッセージ認証コードZを展開すると、以下の式12が得られる。
d2=Dec
KEK(Enc
KEK(K))=K・・・(式12)
すなわち、これまで説明した全てのステップで情報処理装置101、車載通信装置131、およびECU132が正しい鍵を使っていた場合には、d2として鍵Kが得られることがわかる。
【0067】
次にステップS1005に進む。
ステップS1005において、暗号プロトコル制御部172は、ステップS1004において算出した復号結果d2が、鍵情報177として保存されている鍵Kと一致するか否かを判断する。一致すると判断する場合はステップS1006に進み、一致しないと判断する場合はステップS1007に進む。
【0068】
ステップS1006において、暗号プロトコル制御部172は、情報処理装置101および車載通信装置131のいずれもが正当な通信相手であると判断し、
図12により表される暗号処理5を終了する。
ステップS1005において否定判断がされると実行されるステップS1007では、暗号プロトコル制御部172は、情報処理装置101および車載通信装置131の少なくとも一方が不正な通信相手であると判断し、
図12により表される暗号処理5を終了する。
【0069】
車載通信装置131は、情報処理装置101から検証に失敗した旨を受信すると、ECU132に検証に失敗した旨を送信する。すなわち、
図11のステップS905と同様の処理を行う。
ECU132は、車載通信装置131から検証に失敗した旨を受信すると、情報処理装置101および車載通信装置131の少なくとも一方が不正な通信相手であると判断する。すなわち、
図12のステップS1007と同様の処理を行う。
【0070】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)本実施の形態における車載情報通信システム1は、車両103に搭載される車載通信装置131、および電子制御装置、すなわちECU132、ならびに車両に搭載されない情報処理装置101から構成される。電子制御装置、すなわちECU132は、情報処理装置101と事前に共有した共通鍵CK2が格納される記憶部175と、認証のためのメッセージ、すなわち排他的論理和Y0を生成するメッセージ生成部、すなわち暗号処理部173(
図8のステップS603)と、共通鍵CK2を用いて、メッセージ、すなわち排他的論理和Y0に関するメッセージ認証コードZを生成するMAC生成部、すなわち暗号処理部173(
図8のステップS604)と、メッセージ生成部が生成したメッセージ、およびMAC生成部が生成したメッセージ認証コードZを車載通信装置131を経由して情報処理装置101に送信する通信部174と、を備える。情報処理装置101は、共通鍵CK1が格納される記憶部114と、共通鍵CK1、および受信したメッセージを用いて、受信したMAC、すなわち排他的論理和Y0を検証することによりECU132の認証が行われるMAC検証部、すなわち暗号処理部124(
図10のステップS801)と、受信したメッセージ、すなわち排他的論理和Y0、および共通鍵CK1に基づき、レスポンスコード、すなわち暗号化データc2を生成するレスポンスコード生成部、すなわち暗号処理部124(
図10のステップS807)と、MAC検証部における検証が成功した場合(
図10のステップS804:YESの場合)に、レスポンスコード生成部が作成したレスポンスコード、すなわち暗号化データc2を車載通信装置131を経由して電子制御装置、すなわちECU132に送信する通信部120と、を備える。電子制御装置、すなわちECU132は、共通鍵CK2に基づき、受信したレスポンスコード、すなわち暗号化データc2を検証することにより情報処理装置101の認証が行われるレスポンスコード検証部、すなわち暗号処理部173(
図12のステップS1001〜S1004)をさらに備える。
【0071】
本実施の形態にかかる認証方法は、車両103に搭載される車載通信装置131、および電子制御装置、すなわちECU132、ならびに車両に搭載されない情報処理装置101から構成される車載情報通信システムにおける、電子制御装置、すなわちECU132と情報処理装置101との認証方法である。電子制御装置すなわちECU132が、認証のためのメッセージ、すなわち排他的論理和Y0を生成し、事前に情報処理装置101と共有した共通鍵CK2を用いて、メッセージ、すなわち排他的論理和Y0に関するメッセージ認証コードZを生成し、生成したメッセージ、および生成したメッセージ認証コードZを車載通信装置131を経由して情報処理装置101に送信する。情報処理装置101が、共通鍵CK1、および受信したメッセージ、すなわち排他的論理和Y0を用いて、受信したメッセージ認証コードZを検証し、受信したメッセージ、および共通鍵CK1に基づき、レスポンスコード、すなわち暗号化データc2を生成し、検証が成功すると、生成したレスポンスコードを車載通信装置131を経由して電子制御装置132に送信する。電子制御装置すなわちECU132が、共通鍵CK2に基づき、受信したレスポンスコードを検証する。
【0072】
上述した車載情報通信システム1の構成、および認証方法によれば、情報処理装置101とECU132の通信を中継する車載通信装置131に対して、秘密情報である共通鍵CK1を送信しないので、ECUに関する秘密情報の機密性を確保することができる。そして、秘密情報の機密性を確保しながら、情報処理装置101とECU132とが相互に認証できる。
【0073】
情報処理装置101は、メッセージ認証コードを用いてECU132を認証する。この認証は以下のように行われる。
情報処理装置101とECU132は、事前に共通鍵を共通鍵CK1および共通鍵CK2として共有している。ECU132は、排他的論理和Y0を生成し、共通鍵CK2を用いて排他的論理和Y0についてのメッセージ認証コードZを生成し、排他的論理和Y0とメッセージ認証コードZを情報処理装置101に送信する。情報処理装置101は、共通鍵CK1を用いて受信した排他的論理和Y0についてのメッセージ認証コードを生成する。情報処理装置101は、ECU132から受信したメッセージ認証コードZと、自ら作成したメッセージ認証コードが一致すると、ECU132を承認する。事前に共有した共通鍵を保有している者しか、同じメッセージ認証コードを作成できないからである。
【0074】
ECU132は、対称鍵暗号を用いて情報処理装置101を認証する。この認証は以下のように行われる。
情報処理装置101とECU132は、事前に共通鍵を共通鍵CK1および共通鍵CK2として共有している。情報処理装置101は、受信した排他的論理和Y0に基づく値を共通鍵CK1を用いて対称鍵暗号により暗号化し、暗号化データc2を生成する。ECU132は、受信した暗号化データc2を復号化し、復号化した値が排他的論理和Y0に基づく値と一致すると、情報処理装置101を承認する。対称鍵暗号を用いているので、同一の共通鍵がなければ、正当な暗号化データを生成できないからである。
【0075】
ECU132が当該認証を行うために必要な計算処理は、メッセージ認証コードの生成と対称鍵暗号の処理が主である。すなわち、いずれも計算負荷が小さいため、リソースの乏しいECU132でも十分に実行が可能である。
メッセージ認証コードの生成に使用するアルゴリズム、および対称鍵暗号のアルゴリズムは、情報処理装置101とECU132とで共通であればよく、特定のアルゴリズムに限定されない。そのため、使用するアルゴリズムを容易に変更可能であり、計算機の機能向上に合わせた鍵のビット長の増加、アルゴリズムに脆弱性が発見された場合の対処、将来開発されるアルゴリズムへの変更、などが可能である。
【0076】
(2)車載通信装置131は、公開鍵暗号における公開鍵である第1の公開鍵PKSおよび公開鍵暗号における秘密鍵である第2の秘密鍵SKTが格納される記憶部155と、第2の秘密鍵SKTを用いて電子制御装置、すなわちECU132から受信したメッセージ、すなわち排他的論理和Y0の電子署名である第1の署名σ0を生成する第1署名生成部、すなわち暗号処理部153(
図9のステップS701)と、電子制御装置、すなわちECU132から受信したメッセージ、電子制御装置、すなわちECU132から受信したメッセージ認証コードZ、および第1署名生成部が生成した第1の署名を情報処理装置に送信する通信部154とを備える。情報処理装置101の記憶部114には、第1の公開鍵PKSのペアとなる第1の秘密鍵SKSおよび第2の秘密鍵SKTのペアとなる第2の公開鍵PKTがさらに格納される。情報処理装置101は、第2の公開鍵PKT、および受信したメッセージを用いて、受信した第1の署名を検証する第1署名検証部、すなわち暗号処理部124(
図10のステップS803)と、乱数r1を生成する乱数生成部、すなわち暗号処理部124(
図10のステップS805)と、乱数生成部が生成した乱数r1を、第2の公開鍵PKTを用いて暗号化してなる暗号化乱数、すなわち暗号化データc1を生成する暗号化部、すなわち暗号処理部124(
図10のステップS806)と、第1の秘密鍵SKSを用いてレスポンスコード生成部が作成したレスポンスコード、すなわち暗号化データc2の電子署名である第2の署名σ1を生成する第2署名生成部、すなわち暗号処理部124(
図10のステップS808)と、をさらに備える。レスポンスコード生成部は、受信したメッセージ、すなわち排他的論理和Y0、共通CP1、および乱数r1に基づきレスポンスコード、すなわち暗号化データc2を生成する。情報処理装置101の通信部120は、レスポンスコード生成部が作成したレスポンスコード、すなわち暗号化データc2、暗号化乱数、すなわち暗号化データc1、および第2の署名σ1を、車載通信装置131に送信する。車載通信装置131は、第1の公開鍵PKS、および情報処理装置101から受信したレスポンスコード、すなわち暗号化データc2を用いて、受信した第2の署名σ1を検証する第2署名検証部、すなわち暗号処理部153(
図11のステップS901)と、第2の秘密鍵SKTを用いて、受信した暗号化乱数、すなわち暗号化データc1を復号化データ、すなわち復号結果c3に復号化する復号化部、すなわち暗号処理部153(
図11のステップS903)とをさらに備える。車載通信装置131の通信部154は、情報処理装置101から受信したレスポンスコード、すなわち暗号化データc2、および復号化データ、すなわち復号結果c3を電子制御装置132に送信する。電子制御装置、すなわちECU132のレスポンスコード検証部は、共通鍵CK2、および復号結果c3に基づき、受信した暗号化データc2を検証する。
【0077】
そのため、鍵ペアを有する情報処理装置101、および車載通信装置131は、相手が作成した電子署名を公開鍵を用いて検証することにより、認証を行うことができる。電子署名の検証が成功する場合は、その電子署名を作成した者が検証に用いた公開鍵に対応する秘密鍵を保有していることがわかるからである。
情報処理装置101とECU132の間で認証が行われ、情報処理装置101と車載通信装置131との間で認証が行われる。そのため、車載通信装置131とECU132との間では直接は認証が行われないが、情報処理装置101を介して車載通信装置131とECU132の間でも間接的に認証を行うことができる。
【0078】
(3)電子制御装置、すなわちECU132のメッセージ生成部、すなわち暗号処理部173(
図8のステップS603)は、当該電子制御装置が搭載された車両103のイグニッションスイッチがオンにされると、メッセージ、すなわち排他的論理和Y0を生成する。MAC生成部、すなわち暗号処理部173(
図8のステップS604)は、メッセージ生成部がメッセージを生成するとメッセージ認証コードZを生成する。通信部174は、MAC生成部がメッセージ認証コードZを生成すると、メッセージ生成部が生成したメッセージ、およびMAC生成部が生成したメッセージ認証コードZを送信する。
【0079】
車載通信装置131およびECU132は、車両103が走行状態にある場合は多くのデータを処理しており、計算リソースの確保が難しい。そのため、計算リソースに比較的余裕のある車両103の始動時、すなわちオペレータによりイグニションスイッチがオンにされた際に認証を行うことができる。
【0080】
(4)電子制御装置、すなわちECU132は、第2の乱数r0を生成する第2乱数生成部、すなわち暗号処理部173(
図8のステップS601)をさらに備える。電子制御装置、すなわちECU132の記憶部175には、第1の秘密情報、すなわち鍵K、および第2の秘密情報、すなわち鍵暗号鍵KEKがさらに格納される。メッセージ生成部、すなわち暗号処理部173は、鍵Kを鍵暗号鍵KEKを用いて暗号化して暗号化データXを生成し、暗号化データXと第2乱数生成部の生成する第2の乱数r0とのビット演算、すなわち排他的論理和を演算して、メッセージ、すなわち排他的論理和Y0を生成する。
【0081】
そのため、暗号処理1を実行するたびに新たな乱数r0が生成され、毎回異なる排他的論理和Y0が生成される。生成される乱数には規則性がないため、無線通信網102における通信を第三者に傍受されても、次に生成される乱数、および乱数に基づき生成される排他的論理和Y0を予測することが不可能なので、安全性が高められる。
【0082】
(変形例1)
上述した第1の実施の形態では、
図9のステップS701における署名生成処理と
図11のステップS903における復号処理において、同一の秘密鍵、すなわち、いずれも第2の秘密鍵SKTを用いた。しかし署名生成・検証用の鍵ペアと、暗号化・復号化用の鍵ペアを別々に用意してもよい。
【0083】
たとえば、情報処理装置101の鍵情報116は第3の公開鍵PKUがさらに格納され、車載通信装置131の鍵情報157は第3の秘密鍵SKUがさらに格納され、以下のように鍵を使用される。車載通信装置131は、
図9のステップS701では第1の実施の形態と同様に第2の秘密鍵SKTを用いて、
図11のステップS903では第3の秘密鍵SKUを用いる。情報処理装置101は、
図10のステップS803では第1の実施の形態と同様に第2の公開鍵PKTを用いて、ステップS806では第3の公開鍵PKUを用いる。
この変形例1によれば、さらなる安全性の向上を図ることができる。
【0084】
(変形例2)
上述した第1の実施の形態では、ECU132の鍵情報177として鍵K、および鍵暗号鍵KEKが格納されていた。しかし、暗号処理部173が乱数r0を生成する際にさらに乱数を2つ生成し、これらを鍵K、および鍵暗号鍵KEKの代替としてもよい。さらに、上述したように生成した2つの乱数を鍵K、および鍵暗号鍵KEKとして保存して使用し、
図8のステップS601が一定回数実行されると改めてさらに2つの乱数を生成して、鍵Kおよび鍵暗号鍵KEKを更新してもよい。
【0085】
(変形例3)
上述した第1の実施の形態では、ユーザによりイグニションキーがONにされると、ECU132により
図7に示したステップS511およびステップS512の処理が開始され、それ以後の処理は前段の処理が完了次第、すぐに処理が開始された。しかし、各ステップの処理が開始されるタイミングはこれに限定されない。
たとえば、ユーザ、または情報処理装置101からの指令に基づき、ステップS511およびステップS512の処理が開始されてもよい。車載通信装置131やECU132の処理の負荷が所定の閾値以下の場合に、ステップS511およびステップS512の処理が開始されてもよい。
前段の処理が完了しても、当該機器の処理の負荷が所定の閾値以下となるまで次の処理を開始しなくてもよいし、所定の条件を満たした場合のみ次の処理を開始してもよい。たとえば、情報処理装置101が、通信を行っているECU132のファームウエアが最新版ではないことを検出した場合のみ、ステップS532の処理を開始してもよい。
【0086】
(変形例4)
上述した第1の実施の形態では、ECU132の鍵情報177には、鍵K、および鍵暗号鍵KEKの両方が格納されていた。しかし、鍵K、および鍵暗号鍵KEKのいずれか一方のみが格納されてもよい。
たとえば、鍵情報177に鍵暗号鍵KEKが格納されない場合は、
図8のステップS602において鍵Kを暗号化データXとして用い、
図12のステップS1004の処理を省略する。
【0087】
(変形例5)
上述した第1の実施の形態とは異なる手順により、メッセージ認証コードZを生成してもよい。たとえば、鍵Kと乱数r0の排他的論理和を鍵暗号鍵KEKにより暗号化し、これを共通鍵CK2を用いてメッセージ認証コードZを生成してもよい。すなわち、この変形例1によるメッセージ認証コードZの算出式は、以下の式13により表される。
【数7】
【0088】
(変形例5)
上述した第1の実施の形態では、ECU132による暗号処理5において、復号結果d2が鍵Kと一致するか否かにより正当な通信相手であるか否かを判断した(
図12のステップS1005)。しかし、ステップS1002において算出した排他的論理和Y1が、排他的論理和Y0と一致するか否かにより正当な通信相手であるか否かを判断してもよい。この場合は、ECU132が、
図8のステップS605において送信した排他的論理和Y0を記憶部175に保存し、上述した一致するか否かの判断に使用する。
この変形例1によれば、リソースの乏しいECU132における計算量を削減することができる。
【0089】
上述した第1の実施の形態では、さらに以下のように変形してもよい。
(1)情報処理装置101は、上述した全てのハードウェア構成を必ずしも具備する必要はなく、例えば、ディスプレイ112またはキーボード113を備えなくてもよい。
(2)送受信テーブル117、および情報管理テーブル158は、上述した全ての情報を必ずしも含んでいる必要はなく、上述した情報以外を含んでいてもよい。例えば、情報管理テーブル158が、情報処理装置101を認証するために使用する鍵情報を識別するための情報処理装置公開情報IDなどを含んでいてもよい。
【0090】
(3)記憶部114は、上述した情報以外を格納していてもよく、例えば、車載通信装置131やECU132の各種ファームウェアを格納していてもよい。
(4)処理部121、151、171の行う処理の一部が、ハードウエア回路により実現されてもよい。たとえば、乱数生成器により乱数が生成されてもよい。
【0091】
(第2の実施の形態)
図13〜15を参照して、本発明による車載情報通信システムの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、ファームウェア書き込みシーケンスにおいてセッション鍵を使用する点で、第1の実施の形態と異なる。
【0092】
(構成)
第2の実施の形態における車載情報通信システム1の構成は、情報処理装置101の記憶部114、およびECU132の記憶部175にセッション鍵が保存される点が第1の実施の形態と異なる。ただし、セッション鍵は鍵情報のようには事前に共有されておらず、後述するように認証フローが開始されてから生成、または暗号化された状態で配送される。
第2の実施の形態では、プログラムの動作が第1の実施の形態と異なる。具体的には、第1の実施の形態において
図7を用いて説明した認証処理フローの概要は第1の実施の形態と同様であり、ステップS512の暗号処理1、ステップS522の暗号処理2、およびステップS532の暗号処理3が第1の実施の形態と異なる。
【0093】
(暗号処理1のフローチャート)
図13は、第2の実施の形態における暗号処理1の具体例を示すフローチャートである。第1の実施の形態と同様の処理には同一のステップ番号を付与し、説明を省略する。
ステップS604の次に実行されるステップS1101において、暗号プロトコル制御部172は、暗号処理部173に以下の処理を実行させる。すなわち、乱数であるセッション鍵SSを生成させて記憶部175に保存し、鍵情報177として保存されている共通鍵CK2を用いてセッション鍵SSを暗号化させ、暗号化セッション鍵ESSを生成させる。次にステップS1102に進む。
【0094】
ステップS605において、暗号プロトコル制御部172は、ステップ603で生成した排他的論理和Y0、ステップ604で生成したメッセージ認証コードZ、およびステップS1101で生成した暗号化セッション鍵ESSを、通信部174を用いて車載通信装置131に送信する。以上で、
図13により表される第2の実施の形態における暗号処理1が終了する。
【0095】
(暗号処理2のフローチャート)
図14は、第2の実施の形態における暗号処理2の具体例を示すフローチャートである。第1の実施の形態と同様の処理には同一のステップ番号を付与し、説明を省略する。
ステップS701の次に実行されるステップS1201において、暗号プロトコル制御部152は、ステップS701において生成させた署名σ0、受信した排他的論理和Y0、受信したメッセージ認証コードZ、および受信した暗号化セッション鍵ESSを、通信部154を用いて情報処理装置101に送信させる。以上で、
図14により表される第2の実施の形態における暗号処理2が終了する。
【0096】
(暗号処理3のフローチャート)
図15は、第2の実施の形態における暗号処理3の具体例を示すフローチャートである。第1の実施の形態と同様の処理には同一のステップ番号を付与し、説明を省略する。
ステップS804において肯定判定されると実行されるステップS1301において、暗号プロトコル制御部123は、暗号処理部124に以下の処理を実行させる。すなわち、鍵情報116として保存されている共通鍵CK1を用いて、受信した暗号化セッション鍵ESSを復号化させ、復号セッション鍵DSSとして記憶部114に保存する。次にステップS805に進む。
【0097】
(認証完了後の通信)
ECU132は、認証完了後の通信において、情報処理装置101に発信するデータはセッション鍵SSを用いて暗号化し、情報処理装置101から受信するデータはセッション鍵SSを用いて復号化する。
情報処理装置101は、認証完了後の通信において、ECU132に発信するデータは復号セッション鍵DSSを用いて暗号化し、ECU132から受信するデータは復号セッション鍵DSSを用いて復号化する。
情報処理装置101およびECU132が正しい鍵を使用していれば、セッション鍵SSと復号セッション鍵DSSは同一なので、情報処理装置101とECU132との間の通信を暗号化することができる。
【0098】
上述した第2の実施の形態によれば、次の作用効果が得られる。
(1)ECU132は、認証完了後の通信に用いるセッション鍵SSを生成し、共通鍵CK2により暗号化して暗号化セッション鍵ESSを生成し、情報処理装置101に送信する。情報処理装置101は、受信した暗号化セッション鍵ESSを共通鍵CK1により復号化して復号セッション鍵DSSを得る。
そのため、認証完了後の通信を、セッション鍵SSおよび復号セッション鍵DSSを用いて暗号化することができる。また、このセッション鍵SSは暗号処理1が実行されるたびに生成されるので、ある時にセッション鍵SSが外部に漏れても影響を限定的に留めることができる。
【0099】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。