(57)【特許請求の範囲】
【請求項１】
鍵を使用して他の通信装置との間で認証処理を行う通信装置であって、
複数の鍵と各鍵を一意に識別する複数の鍵識別子とを記憶装置に予め記憶し、当該複数の鍵識別子のいずれかを現行の鍵識別子として記憶装置に書き込むことで、当該複数の鍵のいずれかを認証処理に使用する鍵として設定する鍵管理部と、
前記鍵管理部が設定した鍵を使用して他の通信装置との間で認証処理を行う認証処理部とを備え、
前記鍵管理部は、現行の鍵識別子を更新前の鍵識別子として記憶装置に書き込むとともに、現行の鍵識別子を、記憶装置に記憶した複数の鍵識別子のうち現行の鍵識別子とは別の鍵識別子で上書きすることで、認証処理に使用する鍵を記憶装置に記憶した別の鍵で更新する設定をした後、前記認証処理部が更新後の鍵を使用して行った認証処理が失敗した場合、現行の鍵識別子を、記憶装置に記憶した更新前の鍵識別子で上書きすることで、更新直前の鍵を認証処理に使用する鍵に戻す設定をすることを特徴とする通信装置。
【請求項２】
前記通信装置は、さらに、
他の通信装置から任意の鍵識別子を指定した鍵識別子指定要求を受信する通信部を備え、
前記鍵管理部は、前記通信部が受信した鍵識別子指定要求により指定された鍵識別子が現行の鍵識別子と一致しない場合、現行の鍵識別子を更新前の鍵識別子として記憶装置に書き込むとともに、現行の鍵識別子を当該鍵識別子指定要求により指定された鍵識別子で上書きすることで、認証処理に使用する鍵を更新する設定をし、
前記認証処理部は、前記通信部が受信した鍵識別子指定要求により指定された鍵識別子が現行の鍵識別子と一致する場合、現行の鍵識別子に対応する鍵を使用して他の通信装置との間で認証処理を行い、当該鍵識別子指定要求により指定された鍵識別子が現行の鍵識別子と一致しない場合、前記鍵管理部が認証処理に使用する鍵を更新する設定をした後で、現行の鍵識別子に対応する鍵を使用して他の通信装置との間で認証処理を行い、
前記鍵管理部は、前記認証処理部が現行の鍵識別子に対応する鍵を使用して行った認証処理が失敗した場合、現行の鍵識別子を、記憶装置に記憶した更新前の鍵識別子で上書きするとともに、更新前の鍵識別子を記憶装置から削除することで、更新直前の鍵を認証処理に使用する鍵に戻す設定をすることを特徴とする請求項１に記載の通信装置。
【請求項３】
請求項１又は２に記載の通信装置であって、鍵を使用して車載器に搭載された他の通信装置との間で認証処理を行う通信装置を搭載することを特徴とする路側機。
【請求項４】
請求項１又は２に記載の通信装置であって、鍵を使用して路側機に搭載された他の通信装置との間で認証処理を行う通信装置を搭載することを特徴とする車載器。
【請求項５】
鍵を使用して２つの通信装置の間で認証処理を行う通信方法であって、
複数の鍵と各鍵を一意に識別する複数の鍵識別子とを記憶装置に予め記憶する通信装置が、当該複数の鍵識別子のいずれかを現行の鍵識別子として記憶装置に書き込むことで、当該複数の鍵のいずれかを認証処理に使用する鍵として設定する第１ステップと、
前記通信装置が、前記第１ステップで設定した鍵を使用して他の通信装置との間で認証処理を行う第２ステップとを備え、
前記第１ステップは、前記通信装置が、現行の鍵識別子を更新前の鍵識別子として記憶装置に書き込むとともに、現行の鍵識別子を、記憶装置に記憶した複数の鍵識別子のうち現行の鍵識別子とは別の鍵識別子で上書きすることで、認証処理に使用する鍵を記憶装置に記憶した別の鍵で更新する設定をした後、前記第２ステップで更新後の鍵を使用して行った認証処理が失敗した場合、現行の鍵識別子を、記憶装置に記憶した更新前の鍵識別子で上書きすることで、更新直前の鍵を認証処理に使用する鍵に戻す設定をするものであることを特徴とする通信方法。
【請求項６】
鍵を使用して他の通信装置との間で認証処理を行うために複数の鍵と各鍵を一意に識別する複数の鍵識別子とを記憶装置に予め記憶する通信装置のコンピュータにより実行される通信プログラムであって、
記憶装置に記憶された複数の鍵識別子のいずれかを現行の鍵識別子として記憶装置に書き込むことで、記憶装置に記憶された複数の鍵のいずれかを認証処理に使用する鍵として設定する鍵管理手順と、
前記鍵管理手順が設定した鍵を使用して他の通信装置との間で認証処理を行う認証処理手順とをコンピュータに実行させ、
前記鍵管理手順は、現行の鍵識別子を更新前の鍵識別子として記憶装置に書き込むとともに、現行の鍵識別子を、記憶装置に記憶された複数の鍵識別子のうち現行の鍵識別子とは別の鍵識別子で上書きすることで、認証処理に使用する鍵を記憶装置に記憶した別の鍵で更新する設定をした後、前記認証処理手順が更新後の鍵を使用して行った認証処理が失敗した場合、現行の鍵識別子を、記憶装置に記憶した更新前の鍵識別子で上書きすることで、更新直前の鍵を認証処理に使用する鍵に戻す設定をすることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び路側機及び車載器及び通信方法及び通信プログラムに関するものである。本発明は、特に、鍵更新システムに関するものである。
【背景技術】
【０００２】
暗号を利用したセキュリティシステムにおいて、暗号鍵は危殆化する前に更新することが望ましい。従来技術では、鍵を更新する場合に、更新する鍵を古い鍵で暗号化して送信し、受信側では、復号した結果である鍵を新しい鍵として使用していた（例えば、特許文献１参照）。
【特許文献１】特開２００７−１０４３１０号公報（図３）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来技術では、鍵を更新する場合、使用している鍵を用いて鍵を更新していたため、鍵が危殆化してしまったときに、復旧することが非常に困難であるという課題があった。つまり、古い鍵が既に危殆化している場合、暗号化されたデータは復号可能であるから、新しい鍵も漏洩してしまう可能性があるという課題があった。また、更新したときは鍵が危殆化していなかったとしても、後に鍵が危殆化したときに、次々と更新した鍵が漏えいする可能性があるという課題があった。
【０００４】
本発明は、例えば、更新する鍵を有していることを条件に鍵を更新し、一連の認証処理で異常があった場合には更新を取り消すことで、安全な鍵更新システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一の態様に係る通信装置は、
鍵を使用して他の通信装置との間で認証処理を行う通信装置であって、
複数の鍵を記憶装置に記憶し、当該複数の鍵のいずれかを認証処理に使用する鍵として設定する鍵管理部と、
前記鍵管理部が設定した鍵を使用して他の通信装置との間で認証処理を行う認証処理部とを備え、
前記鍵管理部は、認証処理に使用する鍵を記憶装置に記憶した別の鍵で更新する設定をした後、前記認証処理部が当該更新後の鍵を使用して行った認証処理が失敗した場合、当該更新前の鍵を認証処理に使用する鍵に戻す設定をすることを特徴とする。
【発明の効果】
【０００６】
本発明の一の態様によれば、通信装置において、鍵管理部が、認証処理に使用する鍵を別の鍵で更新する設定をした後、認証処理部が当該更新後の鍵を使用して行った認証処理が失敗した場合、当該更新前の鍵を認証処理に使用する鍵に戻す設定をすることにより、安全な鍵更新システムを提供することが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について、図を用いて説明する。
【０００８】
実施の形態１．
本実施の形態について図１を参照し説明する。図１は、本実施の形態における鍵更新システム１００が備える通信装置２００ａ，２００ｂの構成図である。以下、通信装置２００ａを装置Ａ、通信装置２００ｂを装置Ｂという。
【０００９】
装置Ａは、装置Ｂとの通信ＩＦ（インタフェース）である通信部２０１ａ、通信制御、その他サービスの提供を行う制御部２０２ａ、装置Ｂとの認証処理を行う認証処理部２０３ａ、認証処理で使用する乱数を生成する乱数生成部２０４ａ、認証処理で使用する鍵を管理する鍵管理部２０５ａを備える。装置Ｂは、装置Ａとの通信ＩＦである通信部２０１ｂ、通信制御、その他サービスの提供を行う制御部２０２ｂ、装置Ａとの認証処理を行う認証処理部２０３ｂ、認証処理で使用する乱数を生成する乱数生成部２０４ｂ、認証処理で使用する鍵を管理する鍵管理部２０５ｂを備える。装置Ａ、装置Ｂは、それぞれ１つもしくは複数のマイコン（マイクロコンピュータ）などで構成されている。
【００１０】
図２は、通信装置２００ａ，２００ｂ、即ち、装置Ａ、装置Ｂそれぞれのハードウェア構成の一例を示す図である。
【００１１】
図２において、装置Ａ、装置Ｂは、主にマイコンなどのコンピュータで構成されており、ＬＣＤ（液晶ディスプレイ）などの表示画面を有する表示装置９０１、操作キー９０２、操作ボタン９０３などのハードウェアを備え、これらはケーブルや信号線で接続されている。
【００１２】
装置Ａ、装置Ｂは、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、処理装置の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、表示装置９０１、操作キー９０２、操作ボタン９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、フラッシュメモリ、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【００１３】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード９１５、操作キー９０２、操作ボタン９０３などは、入力装置の一例である。また、通信ボード９１５、表示装置９０１などは、出力装置の一例である。
【００１４】
通信ボード９１５は、有線又は無線ＬＡＮ（ローカルエリアネットワーク）、移動通信ネットワーク、ＤＳＲＣ（Ｄｅｄｉｃａｔｅｄ・Ｓｈｏｒｔ・Ｒａｎｇｅ・Ｃｏｍｍｕｎｉｃａｔｉｏｎ）ネットワークなどに接続される。通信ボード９１５は、インターネット、あるいは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークなどのＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。ＬＡＮ、移動通信ネットワーク、ＤＳＲＣネットワーク、インターネット、ＷＡＮは、いずれもネットワークの一例である。
【００１５】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００１６】
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４、フラッシュメモリなどのメモリ、磁気ディスク装置９２０の磁気ディスクなどの記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体により伝送される。
【００１７】
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フラッシュメモリなどの記録媒体に記憶される。このプログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１８】
図３は本実施の形態における装置Ａ、装置Ｂ間のメッセージのシーケンスを示す図であり、図４は装置Ｂの処理フローを示した図である。図４の各処理において、本来はメッセージフォーマットの解析によるエラー処理なども行われるが、ここでは説明を省略する。
【００１９】
図３の要求と応答の送受信は、図１の装置Ａの通信部２０１ａ、装置Ｂの通信部２０１ｂを介して行われる（例えば、通信部２０１ｂは、装置Ａから任意の鍵識別子を指定した鍵識別子指定要求を受信する）。その際の通信制御などは制御部２０２ａ，２０２ｂで行われる。また図４の処理は、図１の認証処理部２０３ｂ、乱数生成部２０４ｂ、鍵管理部２０５ｂを用いて行われる。認証に関わる一連の処理は、認証処理部２０３ｂで行われるが、認証で使用する乱数は、乱数生成部２０４ｂで生成される。また認証で使用する鍵は、認証処理部２０３ｂが鍵管理部２０５ｂから読み出す。なお鍵の読み出し及び鍵の更新処理、その取り消しがこの鍵管理部２０５ｂで行われる。
【００２０】
装置Ｂの鍵管理部２０５ｂは、複数の鍵を予め記憶装置に記憶している。そして、装置Ｂの鍵管理部２０５ｂは、記憶している複数の鍵のいずれかを認証処理に使用する鍵として設定する。
【００２１】
装置Ａの認証処理部２０３ａから鍵識別子指定要求（Ｓ２０１）を受信した装置Ｂの認証処理部２０３ｂは、ステップＳ３０１で指定された鍵識別子（各鍵を一意に識別するＩＤ）を解析し鍵識別子指定応答（Ｓ２０２）を装置Ａに送信する。その後、装置Ｂの認証処理部２０３ｂは、ステップＳ３０２で指定された鍵識別子について鍵更新を実施する必要があるかどうかを処理装置により判定する。具体的には、装置Ｂの認証処理部２０３ｂは、指定された鍵識別子と鍵管理部２０５ｂが設定した鍵の鍵識別子とを処理装置により比較することで、鍵更新を実施する必要があるかどうかを判定する。どのような場合に鍵更新を実施する必要があると判定するかについては、具体例を後述する。装置Ｂの認証処理部２０３ｂは、鍵を更新する必要がある場合、ステップＳ３０３で鍵更新処理を行いステップＳ３０４へ進む。鍵更新処理では、装置Ｂの鍵管理部２０５ｂが、認証処理に使用する鍵を記憶装置に記憶した別の鍵で更新する設定をする。装置Ｂの認証処理部２０３ｂは、鍵を更新する必要がない場合には、鍵更新処理は行わずステップＳ３０４へ進む。
【００２２】
装置Ａの認証処理部２０３ａから、装置Ａが装置Ｂを認証するための装置Ｂ認証要求（Ｓ２０３）を受信した装置Ｂの認証処理部２０３ｂは、ステップＳ３０４で装置Ｂ認証処理を処理装置により行い、装置Ｂ認証応答（Ｓ２０４）を装置Ａに送信する。このとき、装置Ｂの認証処理部２０３ｂは、鍵管理部２０５ｂが設定した鍵（ステップＳ３０３の鍵更新処理が実施されていた場合には、更新後の鍵）を使用して装置Ａとの間で認証処理を行う。その後、装置Ｂの認証処理部２０３ｂは、ステップＳ３０５で装置Ｂ認証処理の結果を処理装置により判定し、正常に終了していればステップＳ３０６へ進み、異常終了した場合にはステップＳ３０８へ進む。
【００２３】
装置Ｂの認証処理部２０３ｂは、ステップＳ３０８では、鍵更新を実施したかどうかを処理装置により判定し、鍵更新をしていない場合には、一連の処理を終了する。装置Ｂの認証処理部２０３ｂは、鍵更新をしていた場合には、ステップＳ３０９へ進み鍵の更新を取り消した後、一連の処理を終了する。このとき、装置Ｂの鍵管理部２０５ｂは、更新前の鍵を認証処理に使用する鍵に戻す設定をする。つまり、装置Ｂの鍵管理部２０５ｂは、ステップＳ３０３で認証処理に使用する鍵を記憶装置に記憶した別の鍵で更新する設定をした後、ステップＳ３０４で認証処理部２０３ｂが当該更新後の鍵を使用して行った認証処理が失敗した場合には、ステップＳ３０８で当該更新前の鍵を認証処理に使用する鍵に戻す設定をする。
【００２４】
装置Ａの認証処理部２０３ａから、装置Ｂが装置Ａを認証するための装置Ａ被認証要求（Ｓ２０５）を受信した装置Ｂの認証処理部２０３ｂは、ステップＳ３０６で装置Ａ被認証処理を処理装置により行い、装置Ａ被認証応答（Ｓ２０６）を装置Ａに送信する。このとき、装置Ｂの認証処理部２０３ｂは、鍵管理部２０５ｂが設定した鍵（ステップＳ３０３の鍵更新処理が実施されていた場合には、更新後の鍵）を使用して装置Ａとの間で認証処理を行う。その後、装置Ｂの認証処理部２０３ｂは、ステップＳ３０７で装置Ａ被認証処理の結果を処理装置により判定し、正常に終了していればステップＳ３１０へ進み、異常終了した場合にはステップＳ３０８へ進む。
【００２５】
前述したように、装置Ｂの認証処理部２０３ｂは、ステップＳ３０８では、鍵更新を実施したかどうかを処理装置により判定し、鍵更新をしていない場合には、一連の処理を終了する。装置Ｂの認証処理部２０３ｂは、鍵更新をしていた場合には、ステップＳ３０９へ進み鍵の更新を取り消した後、一連の処理を終了する。このとき、装置Ｂの鍵管理部２０５ｂは、更新前の鍵を認証処理に使用する鍵に戻す設定をする。つまり、装置Ｂの鍵管理部２０５ｂは、ステップＳ３０６で認証処理に使用する鍵を記憶装置に記憶した別の鍵で更新する設定をした後、ステップＳ３０４で認証処理部２０３ｂが当該更新後の鍵を使用して行った認証処理が失敗した場合には、ステップＳ３０８で当該更新前の鍵を認証処理に使用する鍵に戻す設定をする。
【００２６】
装置Ａの認証処理部２０３ａから、一連の認証処理の完了を示す認証完了通知（Ｓ２０７）を受信した装置Ｂの認証処理部２０３ｂは、ステップＳ３１０で認証完了通知処理を行い、認証完了応答（Ｓ２０８）を装置Ａに送信し、一連の処理を終了する。
【００２７】
このように、更新する鍵を持っていることを条件に鍵の更新を行うことで、鍵更新前に古い鍵が危殆化していたとしても、更新した鍵に関する情報が漏えいすることはない。つまり攻撃者が古い鍵を知っていたとしても、更新した鍵に関する情報を得ることはできない。また鍵更新後に古い鍵が危殆化したとしても、古い鍵と更新した鍵とは独立して使用される（鍵更新を行う際に古い鍵を使用する必要はない）ので、更新した鍵に関する情報が漏えいすることはない。
【００２８】
本実施の形態では、装置Ｂが装置Ａからの要求に対する応答を返した後に、鍵の更新や鍵更新の取り消しを行っているが、鍵の更新や鍵更新の取り消し後に応答を返すことも可能である。鍵の更新や鍵更新の取り消しの処理に時間がかかる場合は、鍵の更新や鍵更新の取り消しを行う前に先に応答を返すことで、要求を受信してから応答を返すまでの時間を短縮することが可能である。
【００２９】
図５は、鍵の管理や鍵の更新及びその取り消しを行う、装置Ｂの鍵管理部２０５ｂの構成を示す図である。
【００３０】
鍵管理部２０５ｂは、鍵の管理に関する処理を行う鍵管理処理部４０１、現在使用している鍵のＩＤである鍵識別子を記憶装置により記憶する鍵識別子記憶部４０２、鍵の更新を行う際に更新する前の鍵の鍵識別子を記憶装置により記憶する更新前鍵識別子記憶部４０３、鍵の更新を行っているかどうかを記憶装置により記憶する鍵更新記憶部４０４、複数の鍵と各鍵に対応する鍵識別子を記憶装置により記憶する鍵記憶部４０５を備える。
【００３１】
鍵管理部２０５ｂにおいて、鍵管理処理部４０１は、複数の鍵と各鍵に対応する鍵識別子を鍵記憶部４０５に記憶する。そして、鍵管理処理部４０１は、鍵記憶部４０５に記憶されている複数の鍵識別子のいずれかを現行の鍵識別子として鍵識別子記憶部４０２に書き込むことで、当該鍵識別子に対応する鍵を、認証処理に使用する鍵として設定する。
【００３２】
図６、図７、図８は装置Ｂの認証処理部２０３ｂと鍵管理部２０５ｂとのやりとりを示した図である。また、図９、図１０、図１１は、それぞれ鍵読出要求（Ｓ５０１）、認証完了通知（Ｓ６０１）、認証失敗通知（Ｓ７０１）を受け取ったときの鍵管理部２０５ｂの処理フローを示した図である。
【００３３】
まず、図６、図９を用いて説明する。
【００３４】
認証処理部２０３ｂから鍵読出要求（Ｓ５０１）を受けた鍵管理部２０５ｂの鍵管理処理部４０１は、ステップＳ８０１で鍵読出要求（Ｓ５０１）で指定されている鍵識別子と鍵識別子記憶部４０２に記憶されている鍵識別子とを処理装置により比較するとともに、鍵記憶部４０５に記憶されている鍵識別子の中に指定された鍵識別子と一致するものがあるかを処理装置により判定し、異常な場合（例えば、現在使用している鍵よりも古い鍵が指定された場合や、存在しない鍵が指定された場合など）は、ステップＳ８０５に進み異常であることを鍵読出応答（Ｓ５０２）で認証処理部２０３ｂに通知する。鍵管理処理部４０１は、正常な場合、即ち、鍵を更新する場合及び更新しない場合は、ステップＳ８０２に進む。なお、鍵読出要求（Ｓ５０１）では、通信部２０１ｂが受信する鍵識別子指定要求（Ｓ２０１）により指定された鍵識別子が指定される。
【００３５】
鍵管理処理部４０１は、ステップＳ８０２では、指定された鍵識別子に対応する鍵を鍵記憶部４０５から読み出し、ステップＳ８０３へ進む。
【００３６】
鍵管理処理部４０１は、ステップＳ８０３では、鍵の更新の有無を処理装置により判定し、更新する必要がない場合は、ステップＳ８０２で読み出した鍵を鍵読出応答（Ｓ５０２）で認証処理部２０３ｂに通知する。鍵管理処理部４０１は、更新する必要がある場合には、ステップＳ８０４へ進む。
【００３７】
鍵管理処理部４０１は、ステップＳ８０４では、鍵識別子記憶部４０２に記憶されている鍵識別子を更新前鍵識別子記憶部４０３に格納し、鍵更新記憶部４０４に鍵更新を行ったことを記憶した後、ステップＳ８０２で読み出した鍵を鍵読出応答（Ｓ５０２）で認証処理部２０３ｂに通知する。
【００３８】
このように、鍵管理部２０５ｂにおいて、鍵管理処理部４０１は、鍵識別子指定要求（Ｓ２０１）により指定された鍵識別子が鍵識別子記憶部４０２に記憶されている現行の鍵識別子と一致しない場合、現行の鍵識別子を更新前の鍵識別子として更新前鍵識別子記憶部４０３に書き込むとともに、鍵識別子記憶部４０２に記憶されている現行の鍵識別子を鍵識別子指定要求（Ｓ２０１）により指定された鍵識別子で上書きすることで、認証処理に使用する鍵を更新する設定をする。
【００３９】
認証処理部２０３ｂでは、鍵読出応答（Ｓ５０２）で得た鍵を使用して、前述したステップＳ３０４、Ｓ３０６の認証処理を処理装置により行う。
【００４０】
このように、認証処理部２０３ｂは、鍵識別子指定要求（Ｓ２０１）により指定された鍵識別子が現行の鍵識別子と一致する場合、現行の鍵識別子に対応する鍵を使用して装置Ａとの間で認証処理を行う。一方、認証処理部２０３ｂは、鍵識別子指定要求（Ｓ２０１）により指定された鍵識別子が現行の鍵識別子と一致しない場合、鍵管理処理部４０１が認証処理に使用する鍵を更新する設定をした後で、現行の鍵識別子に対応する鍵を使用して装置Ａとの間で認証処理を行う。
【００４１】
鍵更新の判定は、例えば鍵識別子を数値で表現した場合の大小関係を用いることで実現できる。即ち、
指定された鍵識別子の数値＞鍵識別子記憶部４０２にある鍵識別子
という関係にあり、指定された鍵識別子が鍵記憶部４０５にある場合は、鍵の更新が必要であると判定し、
指定された鍵識別子の数値＝鍵識別子記憶部４０２にある鍵識別子
である場合には、鍵の更新は必要ではないと判定する。それ以外の場合は、不正な鍵識別子が指定されたと判定することが可能である。
【００４２】
次に、図７、図１０を用いて説明する。
【００４３】
認証処理部２０３ｂは、一連の認証処理を実施後、正常終了した場合には、前述したステップＳ３１０の認証完了通知処理により認証完了通知（Ｓ６０１）を用いて鍵管理部２０５ｂの鍵管理処理部４０１に認証が正常に完了したことを通知する。
【００４４】
この通知（Ｓ６０１）を受けた鍵管理処理部４０１は、ステップＳ９０１で鍵更新記憶部４０４から鍵更新を行ったかどうかを処理装置により判定し、鍵更新があった場合には、ステップＳ９０２へ進む。鍵管理処理部４０１は、鍵更新がなかった場合には、ステップＳ９０３へ進み、認証処理部２０３ｂに対して認証完了応答（Ｓ６０２）を通知して処理を終了する。
【００４５】
鍵管理処理部４０１は、ステップＳ９０２では、更新前鍵識別子記憶部４０３に記憶されている鍵識別子を消去するとともに、鍵更新記憶部４０４の鍵更新を行った記憶も消去し、ステップＳ９０３へ進み、認証処理部２０３ｂに対して認証完了応答（Ｓ６０２）を通知して処理を終了する。
【００４６】
次に、図８、図１１を用いて説明する。
【００４７】
認証処理部２０３ｂは、一連の認証処理を実施後、異常終了した場合には認証失敗通知（Ｓ７０１）を用いて鍵管理部２０５ｂの鍵管理処理部４０１に認証が異常終了したことを通知する。
【００４８】
この通知（Ｓ７０１）を受けた鍵管理処理部４０１は、ステップＳ１００１で鍵更新記憶部４０４から鍵更新を行ったかどうかを処理装置により判定し、鍵更新があった場合には、ステップＳ１００２へ進む。鍵管理処理部４０１は、鍵更新がなかった場合には、ステップＳ１００３へ進み、認証処理部２０３ｂに対して認証失敗応答（Ｓ７０２）を通知して処理を終了する。
【００４９】
鍵管理処理部４０１は、ステップＳ１００２では、鍵識別子記憶部４０２に記憶されている鍵識別子を消去し、更新前鍵識別子記憶部４０３に記憶されている鍵識別子を鍵識別子記憶部４０２に記憶する。その後、鍵管理処理部４０１は、更新前鍵識別子記憶部４０３に記憶されている鍵識別子を消去し、鍵更新記憶部４０４の鍵更新を行った記憶も消去して、ステップＳ１００３に進み、認証処理部２０３ｂに対して認証失敗応答（Ｓ７０２）を通知して処理を終了する。
【００５０】
このように、鍵管理部２０５ｂにおいて、鍵管理処理部４０１は、認証処理部２０３ｂが現行の鍵識別子に対応する鍵を使用して行った認証処理が失敗した場合、鍵識別子記憶部４０２に記憶されている現行の鍵識別子を更新前の鍵識別子で上書きするとともに、更新前の鍵識別子を更新前鍵識別子記憶部４０３から削除することで、当該更新前の鍵を認証処理に使用する鍵に戻す設定をする。
【００５１】
以上のように鍵管理部２０５ｂを構成することで、鍵更新があった場合で、認証処理に失敗した際に鍵更新を取り消すことができる。また鍵管理部２０５ｂと認証処理部２０３ｂとのやりとりを鍵読出要求／応答、認証完了通知／応答、認証失敗通知／応答で構成することで、認証処理部２０３ｂでは鍵の更新の可否を判定することなく鍵更新やその取り消しが可能となる。
【００５２】
以上のように、本実施の形態では、装置Ｂは、相手（装置Ａ）から鍵の更新を要求された際に、相手を認証できたことを契機に鍵の更新を実施する。また、装置Ｂは、相手から鍵の更新を要求された際に、鍵を更新するが、更新した鍵による認証が失敗したことを契機に鍵の更新を取り消す。これにより、安全な鍵更新システム１００を提供することが可能となる。なお、当該認証は、更新後の鍵によって行われるものである。認証に使用する鍵は鍵識別子で指定される。
【００５３】
以上の説明では、主に装置Ｂにおける鍵更新処理、認証処理などについて説明したが、装置Ａが同様の処理を行ってもよい。
【００５４】
本実施の形態は、装置Ａを車載器、装置Ｂを路側機に搭載して実施することが可能である。この場合、路側機に搭載された装置Ｂは、鍵を使用して、車載器に搭載された装置Ａとの間で認証処理を行う。また、逆に、装置Ａを路側機、装置Ｂを車載器に搭載して実施することも可能である。この場合、車載器に搭載された装置Ｂは、鍵を使用して、路側機に搭載された装置Ａとの間で認証処理を行う。いずれの場合も、ＥＴＣ（Ｅｌｅｃｔｒｏｎｉｃ・Ｔｏｌｌ・Ｃｏｌｌｅｃｔｉｏｎ）の安全性を高めることができる。
【図面の簡単な説明】
【００５５】
【図１】実施の形態１に係る鍵更新システムが備える通信装置の構成を示すブロック図である。
【図２】実施の形態１に係る鍵更新システムが備える通信装置のハードウェア構成の一例を示す図である。
【図３】実施の形態１に係る鍵更新システムが備える通信装置間のメッセージのやりとりを示すシーケンス図である。
【図４】実施の形態１に係る鍵更新システムが備える通信装置の動作を示すフローチャートである。
【図５】実施の形態１に係る鍵更新システムが備える通信装置の鍵管理部の構成を示すブロック図である。
【図６】実施の形態１に係る鍵更新システムが備える通信装置の認証処理部及び鍵管理部間のメッセージのやりとりを示すシーケンス図である。
【図７】実施の形態１に係る鍵更新システムが備える通信装置の認証処理部及び鍵管理部間のメッセージのやりとりを示すシーケンス図である。
【図８】実施の形態１に係る鍵更新システムが備える通信装置の認証処理部及び鍵管理部間のメッセージのやりとりを示すシーケンス図である。
【図９】実施の形態１に係る鍵更新システムが備える通信装置の鍵管理部の動作を示すフローチャートである。
【図１０】実施の形態１に係る鍵更新システムが備える通信装置の鍵管理部の動作を示すフローチャートである。
【図１１】実施の形態１に係る鍵更新システムが備える通信装置の鍵管理部の動作を示すフローチャートである。
【符号の説明】
【００５６】
１００  鍵更新システム、２００ａ，２００ｂ  通信装置、２０１ａ，２０１ｂ  通信部、２０２ａ，２０２ｂ  制御部、２０３ａ，２０３ｂ  認証処理部、２０４ａ，２０４ｂ  乱数生成部、２０５ａ，２０５ｂ  鍵管理部、４０１  鍵管理処理部、４０２  鍵識別子記憶部、４０３  更新前鍵識別子記憶部、４０４  鍵更新記憶部、４０５  鍵記憶部、９０１  表示装置、９０２  操作キー、９０３  操作ボタン、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
0005219615.tif 000002
【図２】
0005219615.tif 000003
【図３】
0005219615.tif 000004
【図４】
0005219615.tif 000005
【図５】
0005219615.tif 000006
【図６】
0005219615.tif 000007
【図７】
0005219615.tif 000008
【図８】
0005219615.tif 000009
【図９】
0005219615.tif 000010
【図１０】
0005219615.tif 000011
【図１１】
0005219615.tif 000012