(57)【要約】【課題】共通鍵暗号方式で使用される暗号鍵の更新を安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる暗号鍵更新システムを提供する。【解決手段】共通鍵暗号方式による暗号化通信を行う電子キー１２及び車載機１３間で共有する暗号鍵を生成するための秘密情報Ｋ０をこれらの間で予め共有させた。電子キー１２及び車載機１３は同一の一方向性関数であるハッシュ関数Ｈ（）に対する秘密情報Ｋ０の入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵Ｋｎとして設定する。電子キー１２及び車載機１３は、当該暗号鍵Ｋｎの更新に際しては、当該関数に対する秘密情報Ｋ０の入力を含め当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも一少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定する。【選択図】図３
2009284086.tif 000002
【特許請求の範囲】
【請求項１】
同一の暗号鍵を使用してデータの暗号化を行う共通鍵暗号方式を利用した暗号化通信を行う２つの通信装置間で共有する暗号鍵を更新する暗号鍵更新システムにおいて、
前記２つの通信装置間で共有する暗号鍵を生成するために使用される特定の秘密情報をこれら通信装置間で予め共有させた上で、これら通信装置はそれぞれ同一の一方向性関数に対する前記秘密情報の入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵として設定するとともに、当該暗号鍵の更新に際しては、前記一方向性関数に対する前記秘密情報の入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定する暗号鍵更新システム。
【請求項２】
請求項１に記載の暗号鍵更新システムにおいて、
前記２つの通信装置は、それぞれの暗号鍵を生成する際に、前記一方向性関数に対する前記秘密情報の入力を含めてその演算結果を当該一方向性関数に繰り返し入力する過程で得られる演算結果を破棄する暗号鍵更新システム。
【請求項３】
請求項１又は請求項２に記載の暗号鍵更新システムにおいて、
前記２つの通信装置のいずれか一方には、暗号鍵の更新を行う時機として定められた更新時機が到来したか否かの判定を行う判定手段を備え、当該判定手段により暗号鍵の更新を行う時機が到来した旨判定されたとき、当該一方の通信装置は、自身の暗号鍵の更新を保留した状態で他方の通信装置へ暗号鍵の更新を実行する旨要求する更新要求信号を送信し、当該他方の通信装置は、前記一方の通信装置からの更新要求信号を正常に受信したときにはその旨示す応答信号を前記一方の通信装置へ送信するとともに自身の暗号鍵の更新を実行し、自身の暗号鍵の更新を保留している前記一方の通信装置は前記他方の通信装置からの前記応答信号の受信を待って自身の暗号鍵の更新を実行する暗号鍵更新システム。
【請求項４】
請求項３に記載の暗号鍵更新システムにおいて、
前記２つの通信装置の少なくとも一方は、自身の暗号鍵の更新を実行するに際して、通信相手である他方の通信装置が正規の通信相手か否かの認証を行い、当該認証が成立したときに、自身の暗号鍵の更新を実行する暗号鍵更新システム。
【請求項５】
請求項１〜請求項４のうちいずれか一項に記載の暗号鍵更新システムにおいて、
前記２つの通信装置は、車両に搭載されてその各部を制御する車載機及び当該車両のユーザに所持されて前記車載機との間の相互無線通信を通じて車両の各部を遠隔制御する電子キーとして構成し、
同一の車両に対して複数個の電子キーが登録されている場合には、これら電子キーと前記車載機との間で共有される前記秘密情報は、電子キー毎に異なるものとされてなる暗号鍵更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通鍵暗号方式で使用される暗号鍵の更新方法に関するものである。
【背景技術】
【０００２】
近年では、コンピュータ等を含め各種の電子機器のネットワーク化が急速に進行しつつある。これに伴い情報が大きな価値を持つようになり、情報に対するセキュリティもまた大きな意味を持つようになってきている。特に、赤外線や電波等を通じてデータを送受信する無線通信は、ケーブル等の敷設を必要としないことから急速に普及しつつある一方で、その送受信するデータの漏洩が発生しやすいため、第三者によるデータの傍受及び改ざん等を防ぐための対策が有線通信以上に重要視される。
【０００３】
このような問題を回避するため、特定の通信相手同士でデータを暗号化して伝送する暗号化通信がよく行われている。このときに利用される暗号技術として、ＤＥＳ及びＡＥＳに代表される共通鍵暗号方式が現在広く使用されている。共通暗号鍵方式は、送信側（データを暗号化する側）と受信側（暗号化されたデータを復号化する側）とが、予め共通の暗号鍵を持ち、この同一の暗号鍵を使用して暗号化及び復号化を行う暗号化アルゴリズムである。なお、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）は、アメリカ合衆国政府の連邦標準技術局（ＮＩＳＴ）が、従来、データ暗号の標準として推奨してきた共有鍵暗号方式である。ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）は、ＤＥＳに代わるデータ暗号の標準として、近年ＮＩＳＴが推奨している共通鍵暗号方式である。
【０００４】
ＤＥＳ及びＡＥＳのいずれであれ、共通鍵暗号方式では、暗号を送信する側とそれを受信する側との間で暗号化及び復号化を行うための鍵を共有する必要がある。この暗号鍵の生成は、送信側及び受信側のいずれで行ってもよいが、得られた暗号鍵を通信相手同士で共有するために暗号鍵の受け渡しが必要となる。また、近年のコンピュータの性能の向上に伴い、同じ鍵を継続して使用する場合には、これが第三者により傍受されて解読されるおそれがあることから、適当なタイミングで暗号鍵を更新することが望ましい。
【０００５】
しかし、前述したように、コンピュータの普及によって暗号が広く普及しつつある現状にあっては、鍵の受け渡し自体がセキュリティ上の大きな弱点となる。すなわち、暗号鍵の受け渡しを行う場合には、暗号鍵の情報をやり取りするため、この際に暗号鍵の傍受あるいはその解析が行われる等のリスクがある。受け渡しの途中で暗号鍵が外部に漏洩するようなことがあれば、通信の秘密が守れなくなることから、従来、暗号鍵の受け渡しをいかに安全に行うかが大きな問題となっていた。
【０００６】
そこで、このような問題を解決するために、例えば特許文献１に記載されるような暗号鍵の更新方法が従来提案されている。当該方法では、共有鍵暗号方式で暗号通信を行う通信相手同士で共有される共有秘密情報に基づいて、新たな暗号鍵を生成する際に使用される更新暗号鍵を同一の一方向性関数に従って通信相手同士で個別に生成することにより、通信をすることなく暗号鍵の更新を行う。
【０００７】
すなわち、図５に示すように、最初に通信等による所定の鍵交換方式を通じて２５６ビットの基本鍵ｋを交換し、当該基本鍵ｋを二乗して未知の２つの素数の積である合成数Ｎでの剰余を更新基本鍵ｈ１とする。そして、そのうちの６４ビットをＤＥＳ等の暗号鍵ｇ１とする。２回目からは、先に生成された更新基本鍵ｈ１を記憶しておき、当該更新基本鍵ｈ１を二乗して前記合成数Ｎでの剰余を新更新基本鍵ｈ２とする。そして、そのうちの６４ビットをＤＥＳ等の新たな暗号鍵ｇ２とする。以後、前述と同様の処理が繰り返されることにより、新たな更新基本鍵ｈ３，ｈ４…ｈｎ（ｎは正の整数）、及び新たな暗号鍵ｇ３，ｇ４…ｇｎ（ｎは正の整数）が生成される。なお、新たな暗号鍵の生成は、一回の通信が終了するごとに、あるいは通信中に並行して行われる。
【特許文献１】特開２００３−１１０５４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述した特許文献１の暗号鍵の更新方法によれば、確かに暗号鍵の交換のための通信を行うことなく、安全に暗号鍵の更新を行うことができる。すなわち、暗号鍵の更新に際して、通信相手同士で通信を行う必要がないことから、前述した暗号鍵の傍受、あるいはその解析等のリスクは回避される。
【０００９】
ところが、特許文献１の暗号鍵の更新方法においては、次のような問題があった。すなわち、暗号鍵の更新を行うために必要とされる情報として、通信相手同士で最初に共有する基本鍵ｋから更新基本鍵ｈｎを求めるために使用される未知の２つの素数の積である合成数Ｎ、並びにこれら基本鍵ｋ及び合成数Ｎから求められる更新基本鍵ｈｎを、不揮発性メモリ等の記憶装置に常に記憶しておく必要がある。このため、暗号鍵だけを記憶しておけばよい従来一般の共通鍵暗号方式との比較において、通信相手同士で共有する情報のサイズが大きくなるという問題がある。
【００１０】
ここで、共通鍵暗号方式を利用した暗号化通信を行う際のデータの暗号化は、所定のデータ変換プログラムに従って実行されるところ、当該プログラムは、携帯電話、家電機器、自動車及び産業機器等のコンピュータを組み込んだ機器である組み込みシステムを実現するための組み込みソフトウェアとして使用されることも多い。そして近年では、データ変換プログラムの搭載対象である各種機器のハードウェア性能の向上及び機能要求の高度化とあいまって、当該データ変換プログラムを含む各種の組み込みソフトウェアは飛躍的に規模が大きくなり複雑になってきている。
【００１１】
特に、量産品の場合には、製品コストが重要視されるため、メモリ等のリソースの制約が厳しく、限られた記憶容量又はメモリ性能で動作する必要がある。このため、データ変換プログラム、特にそれを組み込みソフトウェアとして使用する場合には、メモリに記憶させておく情報の量は少ないほどよい。このような実情から、前述した特許文献１の暗号鍵の更新方法においては、通信相手同士で共有する暗号鍵の更新に必要とされる情報のサイズの縮小化という点で改善の余地がある。
【００１２】
本発明は上記問題点を解決するためになされたものであって、その目的は、共通鍵暗号方式で使用される暗号鍵の更新を安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる暗号鍵更新システムを提供することにある。
【課題を解決するための手段】
【００１３】
請求項１に記載の発明は、  同一の暗号鍵を使用してデータの暗号化を行う共通鍵暗号方式を利用した暗号化通信を行う２つの通信装置間で共有する暗号鍵を更新する暗号鍵更新システムにおいて、前記２つの通信装置間で共有する暗号鍵を生成するために使用される特定の秘密情報をこれら通信装置間で予め共有させた上で、これら通信装置はそれぞれ同一の一方向性関数に対する前記秘密情報の入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵として設定するとともに、当該暗号鍵の更新に際しては、前記一方向性関数に対する前記秘密情報の入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定することをその要旨とする。
【００１４】
本発明によれば、最初の暗号鍵を生成する際のハッシュ関数に対する繰り返し入力回数をｎ（ｎは、０でない正の整数）回とした場合に、例えば最初の暗号鍵を更新するときには、ハッシュ関数に対する秘密情報の入力を含め当該関数による演算結果を当該関数に対してｎ−１回だけ繰り返し入力して得られる結果が新たな暗号鍵として使用される。以後、暗号鍵を更新する度に、ｎ−２回→ｎ−３回→…→２回→１回のように、ハッシュ関数に対する繰り返し入力回数が減らされる。そしてその演算結果が新たな暗号鍵として使用される。
【００１５】
暗号鍵は２つの通信装置で各々生成されることから、これらの間で通信を行うことなく暗号鍵の生成、ひいては更新を行うことができる。このため、通信相手同士間の通信を利用して暗号鍵の更新を行う従来の暗号鍵の更新方法と異なり、暗号鍵の受け渡しを行わないことから、暗号鍵の更新時における暗号鍵の傍受あるいは解析等に対するリスクが回避される。
【００１６】
また、一方向性関数であるハッシュ関数の性質、すなわち出力が分かっても入力を知ることが困難であるという性質を利用して暗号鍵の更新が行われる。すなわち、暗号鍵を更新する毎に、ハッシュ関数への繰り返し入力回数を減らすようにしていることから、例え過去に使用していた暗号鍵が第三者に所得されたとしても、一方向性関数の性質上、当該過去の暗号鍵から新たな暗号鍵を導き出すことは困難である。このため、暗号の解読等に対する防犯性能を確保することができる。
【００１７】
さらに、２つの通信装置の間で共有する暗号鍵の更新に必要とされる情報は、秘密情報だけであることから、これら通信装置の記憶容量を大きく消費することはない。なお、一方向性関数としては、例えばハッシュ関数を採用することができる。
【００１８】
請求項２に記載の発明は、請求項１に記載の暗号鍵更新システムにおいて、前記２つの通信装置は、それぞれの暗号鍵を生成する際に、前記一方向性関数に対する前記秘密情報の入力を含めてその演算結果を当該一方向性関数に繰り返し入力する過程で得られる演算結果を破棄することをその要旨とする。
【００１９】
例えば最初の暗号鍵を生成する際には、ハッシュ関数への入力を繰り返す過程において次のような演算結果が得られる。すなわち、ハッシュ関数からは、秘密情報をハッシュ関数に入力して得られる１回目の演算結果、同じく当該１回目の演算結果を入力して得られる２回目の演算結果、…、同じくｎ−２回目の演算結果を入力して得られるｎ−１回目の演算結果が出力される。これら演算結果は、それぞれ次回以降の新たな暗号鍵として使用されることから、これらを残しておくことは暗号の安全性を確保する観点から好ましくない。この点、本発明によるように、暗号鍵を生成する際に、ハッシュ関数への入力を繰り返す過程で得られる演算結果を破棄することにより、暗号鍵の傍受・解析に起因する暗号解読等に対する防犯性が高められる。
【００２０】
請求項３に記載の発明は、請求項１又は請求項２に記載の暗号鍵更新システムにおいて、前記２つの通信装置のいずれか一方には、暗号鍵の更新を行う時機として定められた更新時機が到来したか否かの判定を行う判定手段を備え、当該判定手段により暗号鍵の更新を行う時機が到来した旨判定されたとき、当該一方の通信装置は、自身の暗号鍵の更新を保留した状態で他方の通信装置へ暗号鍵の更新を実行する旨要求する更新要求信号を送信し、当該他方の通信装置は、前記一方の通信装置からの更新要求信号を正常に受信したときにはその旨示す応答信号を前記一方の通信装置へ送信するとともに自身の暗号鍵の更新を実行し、自身の暗号鍵の更新を保留している前記一方の通信装置は前記他方の通信装置からの前記応答信号の受信を待って自身の暗号鍵の更新を実行することをその要旨とする。
【００２１】
一方の通信装置から送信される更新要求信号が何らかの理由により他方の通信装置に正常に受信されない場合が想定されるところ、この場合には、他方の通信装置では暗号鍵の更新は行われない。またこの場合には当該他方の通信装置からの応答がないことから、一方の通信装置でも暗号鍵の更新は行われない。すなわち、他方の通信装置で暗号鍵の更新が行われないにもかかわらず、一方の通信装置のみが暗号鍵の更新を実行するといった不具合を回避することができる。このように、一方の通信装置は、暗号鍵の更新を要求する更新要求信号が他方の通信装置により正常に受信されたことが確認されて初めて自身の暗号鍵の更新を実行するようにしたことにより、２つの通信装置において、それぞれの暗号鍵の更新処理が確実に同期して実行される。
【００２２】
請求項４に記載の発明は、請求項３に記載の暗号鍵更新システムにおいて、前記２つの通信装置の少なくとも一方は、自身の暗号鍵の更新を実行するに際して、通信相手である他方の通信装置が正規の通信相手か否かの認証を行い、当該認証が成立したときに、自身の暗号鍵の更新を実行することをその要旨とする。
【００２３】
本発明によれば、少なくとも一方の通信装置の通信相手になりすました第三者との通信に基づき当該一方の通信装置で暗号鍵の更新が実行されることはない。したがって、いたずら等による暗号鍵の更新を回避することができる。
【００２４】
請求項５に記載の発明は、請求項１〜請求項４のうちいずれか一項に記載の暗号鍵更新システムにおいて、前記２つの通信装置は、車両に搭載されてその各部を制御する車載機及び当該車両のユーザに所持されて前記車載機との間の相互無線通信を通じて車両の各部を遠隔制御する電子キーとして構成し、同一の車両に対して複数個の電子キーが登録されている場合には、これら電子キーと前記車載機との間で共有される前記秘密情報は、電子キー毎に異なるものとされてなることをその要旨とする。
【００２５】
本発明が前提とする前述したような電子キーシステムにおいては、同一の車両に対して複数個の電子キーが登録される場合も多く想定される。この場合には、本発明によるように、これら電子キー及び車載機の間で共有される秘密情報は、電子キー毎に異なるものとすることが望ましい。すなわち、前述したように、同一の車両に複数個の電子キーが登録される場合において、各電子キー及び車載機の間で共有する秘密情報をすべて同じものとしたときには、次のような問題が懸念される。例えば各電子キーのいずれか一を紛失等したときには、防犯性能を確保する観点から、すべての電子キーの登録を抹消する等の措置を講じる必要がある。この点、本発明によるように、各電子キーと車載機との間で共有する秘密情報を電子キー毎にすべて異なるものとすれば、当該紛失等した電子キーの登録のみを抹消すればよい。これは、各電子キー間で同一の秘密情報、ひいては暗号鍵を共有しないからである。このため、同一の車両に対して複数個の電子キーが登録されている場合において、例えばそのうち一の電子キーを紛失等したときの対応作業が簡単になる。
【発明の効果】
【００２６】
本発明によれば、共通鍵暗号方式で使用される暗号鍵の更新を簡単且つ安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を車両の電子キーシステムに具体化した一実施の形態を図１〜図４に基づいて説明する。この電子キーシステムは、ユーザにより所持される電子キーと車両との間の無線通信を通じてドアの施解錠及びエンジンの始動を行うものである。
【００２８】
＜電子キーシステムの概要＞
まず電子キーシステムの概要を説明する。図１に示すように、電子キーシステム１１は、ユーザに所持される電子キー１２、及び車両Ｃａｒに搭載される車載機１３を備えてなる。
【００２９】
電子キー１２の制御回路２１には、ＬＦ帯の無線信号を受信するＬＦ受信回路２２、及び当該制御装置からの指令に従いＲＦ帯の無線信号を送信するＲＦ送信回路２３が接続されている。ＬＦ受信回路２２は、受信したＬＦ信号を復調するとともに、その復調後の信号を受信データとして制御回路２１に出力する。また、ＲＦ送信回路２３は、制御回路２１からの指令に従い、電子キーに固有の識別コードを乗せたＲＦ帯の応答信号Ｓｒｅｐを送信する。
【００３０】
車載機１３は、電子キー１２との間の相互無線通信を通じて当該電子キー１２の妥当性を判断する照合制御装置３１を備えてなる。この照合制御装置３１には、車室外へＬＦ帯の無線信号を送信する車室外ＬＦ送信機３２、車室内へＬＦ帯の無線信号を送信する車室内ＬＦ送信機３３、及びＲＦ帯の無線信号を受信するＲＦ受信機３４が接続されている。また、照合制御装置３１には、ドア錠を施解錠するべくドアロックモータＭを駆動制御するドア制御装置３５、ユーザによるエンジンスイッチＳＷの操作に応じて車両Ｃａｒの電源位置を切換制御する電源制御装置３６、及びエンジンＥの駆動制御を行うエンジン制御装置３７が、バス（多重通信線）Ｂを介して接続されている。
【００３１】
さて、エンジンＥが停止状態且つドアが施錠状態である車両Ｃａｒの駐車状態において、照合制御装置３１は、電子キー１２に応答を要求する車室外照合用のＬＦ帯の応答要求信号Ｓｒｅｑを所定の制御周期で車室外ＬＦ送信機３２を通じて車室外に送信する。これにより、車両Ｃａｒのドアの周辺には、電子キー１２の図示しない検知領域が形成される。そして、ユーザが電子キー１２を所持して車両Ｃａｒに接近して前記検知領域内に入ると、電子キー１２の制御回路２１は、前記応答要求信号Ｓｒｅｑを受けて自身の記憶装置２１ａに格納された識別コードを含む応答信号Ｓｒｅｐを、ＲＦ送信回路２３を通じて送信する。
【００３２】
照合制御装置３１は、ＲＦ受信機３４を通じて電子キー１２からの応答信号Ｓｒｅｐを受信すると、当該応答信号Ｓｒｅｐに含まれる電子キー１２に固有の識別コードと、自身の記憶装置３１ａに記憶された識別コードとを比較する車室外照合を行う。そして照合制御装置３１は、この車室外照合が成立した場合には、図示しないドアハンドルノブに内蔵されたタッチセンサを起動し、当該センサを通じてユーザによるドアハンドルノブのタッチ操作を検出すると、ドア制御装置３５にドアアンロック要求信号を出力する。ドア制御装置３５は、照合制御装置３１からのドアアンロック要求信号を受けて、ドアロックモータＭを駆動して車両のドアを解錠する。
【００３３】
この後、電子キー１２を所持するユーザが車両に乗り込んだとき、ドア制御装置３５は図示しないドアセンサを通じてこれを検出して当該検出信号を照合制御装置３１へ出力する。ドア制御装置３５からユーザが乗車した旨示す検出信号が入力されると、照合制御装置３１は、車室内ＬＦ送信機３３を通じて車室内照合用の応答要求信号Ｓｒｅｑを送信することにより、車室内に電子キー１２の検知領域を形成する。電子キー１２は、ＬＦ受信回路２２を通じて車室内照合用の応答要求信号Ｓｒｅｑを受信すると、ＲＦ送信回路２３を通じて識別コードを含む応答信号Ｓｒｅｐを送信する。
【００３４】
照合制御装置３１は、ＲＦ受信機３４を通じて電子キー１２からの応答信号Ｓｒｅｐを受信すると、当該応答信号Ｓｒｅｐに含まれる電子キー１２に固有の識別コードと、自身の記憶装置３１ａに記憶された識別コードとを比較する車室内照合を行う。そして照合制御装置３１は、この車室外照合の照合結果を記憶装置３１ａに記憶し、当該照合結果を各種の車載システムの実行機能に応じてこれらシステムの制御装置、例えば電源制御装置３６及びエンジン制御装置３７へ送信する。
【００３５】
すなわち、電源制御装置３６は、シフトレバーが駐車位置に保持されるとともに図示しないブレーキペダルが踏み込まれた状態で、エンジンスイッチＳＷがオン操作された旨検出すると、照合制御装置３１に対して車室内照合の照合結果を確認する。電源制御装置３６は、照合制御装置３１を通じて取得した車室内照合の照合結果が照合成立を示すものであった場合には、図示しないアクセサリリレー及びイグニッションリレーをオン動作させて、車両Ｃａｒの各部に動作電力を供給する。
【００３６】
そして、電源制御装置３６は、エンジンＥの始動を要求する始動要求信号を、バスＢを通じてエンジン制御装置３７へ出力する。エンジン制御装置３７は、電源制御装置３６からの始動要求信号が入力されると、照合制御装置３１に対して車室内照合の照合結果を確認するとともに、互いが対を成す制御装置同士であるか否かの確認（ペアリング）を行う。エンジン制御装置３７は、車室内照合及びペアリングの双方が成立している場合にのみ、エンジンＥを始動させる。
【００３７】
そして、ユーザが降車するべくエンジンスイッチＳＷの操作を通じてエンジンＥを停止した後に、解錠状態のドアを開けて車室外に出て、前記ドアハンドルノブに設けられる図示しないロックスイッチをオン操作した場合には、これが照合制御装置３１により検出される。すると、照合制御装置３１は、車室外ＬＦ送信機３２を通じて車室外照合用の検知領域を再度形成して車室外照合を行い、当該車室外照合が成立したときには、ドアロック要求信号をドア制御装置３５へ出力する。ドア制御装置３５は、照合制御装置３１からのドアロック要求信号が入力されると、ドアロックモータＭを駆動してドアを施錠する。
【００３８】
＜電子キー及び車載機の相互認証＞
ここで、前述した電子キーシステム１１においては、電子キー１２と車載機１３との相互認証が無線通信により行われることから、これら電子キー１２と車載機１３との間で送受信される情報（電子キー１２に固有の識別情報等）が傍受され、この情報を使用して車両Ｃａｒが不正に使用されることが特に懸念される。このため、電子キー１２と車載機１３との間では、これらの間で授受する情報を所定の暗号アルゴリズムにより暗号化して送受信する暗号化通信を利用した認証が行われる。本実施の形態では、認証を実施する装置間、すなわち電子キー１２と車載機との間で互いに共通の暗号鍵を持ち合い、乱数データ（チャレンジコード）を暗号鍵で暗号化した結果を交換することにより認証を行う、いわゆるチャレンジ・レスポンス認証方式が採用されている。
【００３９】
以下に、電子キーシステム１１におけるチャレンジ・レスポンス認証方式の暗号化通信について図２に従って説明する。なお、ここでは、乗車時等に行われる車室外照合が行われるものとする。また、車載機１３と電子キー１２とは、同じ暗号鍵Ｋを持っている。
【００４０】
さて、車両Ｃａｒの駐車状態にあっては、車載機１３は、前記応答要求信号Ｓｒｅｑとして、電子キー１２を起動させるＷＡＫＥコードを含む起動信号Ｓｗａｋｅを所定の制御周期で送信する。これにより、車両Ｃａｒのドアの周辺には、電子キー１２の検知領域が形成される。
【００４１】
そして、ユーザが電子キー１２を携帯して前記検知領域に入った際、当該電子キー１２が車両Ｃａｒからの起動信号Ｓｗａｋｅを受信すると、当該電子キー１２は、まず起動信号Ｓｗａｋｅに含まれるＷＡＫＥコードの妥当性、すなわち、当該ＷＡＫＥコードが登録された正規の信号パターンかどうかを判定する。次に、電子キー１２は、前記ＷＡＫＥコードが正規の信号パターンである旨判定したときには、自身の動作が安定するのを待って、正常に認識した旨の応答信号であるＡＣＫ信号Ｓａｃｋを車両側へ返信する。
【００４２】
車載機１３は、電子キー１２からのＡＣＫ信号Ｓａｃｋを受信することにより、電子キー１２が前記検知領域内にあると判断し、登録された自身の車両コードを含む車両識別信号Ｓｃａｒを発信する。
【００４３】
そして、電子キー１２は、車載機１３からの車両識別信号Ｓｃａｒを受信すると、それに含まれる車両コードと自身に登録された車両コードとの照合を行う。そして、その照合が成立した場合には、電子キー１２は、ＲＦ送信回路２３を通じてＡＣＫ信号Ｓａｃｋを車両側へ再び返信する。
【００４４】
＜チャレンジ・レスポンス認証＞
車載機１３は、電子キー１２からのＡＣＫ信号Ｓａｃｋを再度受信すると、電子キー１２との間でチャレンジ・レスポンス認証を行う。
【００４５】
＜Ｓ−１＞
すなわち、車載機１３は、まず乱数を生成し、この乱数を電子キー１２に対するチャレンジコードＲａとする。そして車載機１３は、このチャレンジコードＲａに特定のキーコードを付加した情報を含む認証信号Ｓｃｈａを送信する。ここで、キーコードは、当該車載機１３に予め登録された電子キー１２に固有の情報である。
【００４６】
＜Ｓ−２＞
電子キー１２は、車載機１３からの認証信号Ｓｃｈａを受信すると、これに含まれるキーコードと自身に登録されたキーコードとの照合を行う。電子キー１２は、当該照合が成立した場合には、自身のキーコードが当該車両Ｃａｒに登録されたコードである旨判断する。そして、電子キー１２は、受信した認証信号Ｓｃｈａに含まれるチャレンジコードＲａを自分の持つ暗号鍵Ｋにより暗号化する。この暗号化結果をＥＫ（Ｒａ）と示す。また、電子キー１２は、車載機１３に対するチャレンジコードＲａとして乱数を生成する。そして電子キー１２は、これら暗号化結果ＥＫ（Ｒａ）及びチャレンジコードＲｂを含む暗号化信号Ｓｃｉｐ−ｋｅｙを車載機１３に送信する。
【００４７】
＜Ｓ−３＞
車載機１３では、自らが生成したチャレンジコードＲａを自分の持つ暗号鍵Ｋで暗号化した結果と受信した暗号化信号Ｓｃｉｐ−ｋｅｙに含まれる暗号結果ＥＫ（Ｒａ）とを比較し、その値が一致すれば電子キー１２が正常に認証されたと判断する。また、車載機１３は、受信した暗号化信号Ｓｃｉｐ−ｋｅｙに含まれるチャレンジコードＲｂを自分の持つ暗号鍵Ｋにより暗号化し、その暗号化結果を含む暗号化信号Ｓｃｉｐ−ｃａｒを電子キー１２に送信する。なお、チャレンジコードＲｂの暗号化結果をＥＫ（Ｒｂ）と示す。
【００４８】
＜Ｓ−４＞
電子キー１２では、自らが生成したチャレンジコードＲｂを自分の持つ暗号鍵Ｋで暗号化した結果と受信した暗号化信号Ｓｃｉｐ−ｃａｒに含まれる暗号結果ＥＫ（Ｒｂ）とを比較し、その値が一致すれば車載機１３が正常に認証されたと判断する。
【００４９】
以上で車載機１３と電子キー１２との間のチャレンジ・レスポンス認証は完了となる。ここで、チャレンジ・レスポンス認証においては、認証のたびに異なる乱数を生成してチャレンジコードとされることから、いわゆるリプレイアタックが抑制される。このリプレイアタックとは、前述した暗号鍵Ｋ等を傍受して、そのまま再利用することにより正規のユーザになりすます攻撃をいう。
【００５０】
そして、前述したチャレンジ・レスポンス認証が完了、すなわち前記＜Ｓ−４＞において、電子キー１２が車載機１３を正常に認証した場合には、電子キー１２は、前記応答信号Ｓｒｅｐとして、自身に固有のキーコードを含む識別信号Ｓｉｄを車載機１３に送信する。車載機１３は、電子キー１２からのキーコードと自身に登録されたキーコードとの照合を行い、当該照合が成立したことをもって電子キー１２との間の車室外照合が成立した旨判断する。この後、車両のドアが解錠されて、電子キー１２を所持するユーザが乗車した際には、前述した車室外照合と同様にして車載機１３と電子キー１２との相互認証を行うべく車室内照合が行われる。ここでは、車室内照合の手順についての詳細な説明を省略する。
【００５１】
＜暗号鍵の更新方法＞
ここで、前述したように、近年のコンピュータの性能の向上に伴い、同じ暗号鍵を継続して使用する場合には、これが第三者により傍受されてこれが解読されるおそれがあることから、適当なタイミングで暗号鍵を更新することが望ましい。また、コンピュータの普及によって暗号が広く普及しつつある現状にあっては、鍵の受け渡し自体がセキュリティ上の大きな弱点となることも既に述べた通りである。こうした問題を解決するために、本実施の形態では、次のようにして暗号鍵の生成及び更新を行うようにしている。
【００５２】
なお、本実施の形態では、前述したチャレンジ・レスポンス認証方式の暗号化通信における暗号アルゴリズムとして、ＤＥＳ及びＡＥＳに代表される共通鍵暗号方式を採用している。また、図１に示されるように、電子キー１２の記憶装置２１ａには、車載機１３との間の相互無線通信を制御回路２１に実行させるための通信制御プログラムが記憶されている。また、当該記憶装置２１ａには、共通鍵暗号方式を使用して車載機１３へ送信する情報を暗号化する処理を制御回路２１に実行させるためのデータ変換プログラム、並びに暗号鍵Ｋの生成処理及び更新処理を制御回路２１に実行させるための暗号鍵更新プログラムが記憶されている。さらに、当該記憶装置２１ａには、前記データ変換プログラムが実行された際に使用される暗号鍵Ｋを生成するための秘密情報Ｋ０が格納されている。
【００５３】
一方、図１に示されるように、車載機１３の記憶装置３１ａには、電子キー１２との間の相互無線通信を照合制御装置３１に実行させるための通信制御プログラムが記憶されている。また、当該記憶装置３１ａには、共通鍵暗号方式を使用して電子キー１２へ送信する情報を暗号化する処理を照合制御装置３１に実行させるためのデータ変換プログラム、並びに暗号鍵Ｋの生成処理及び更新処理を照合制御装置３１に実行させるための暗号鍵更新プログラムが記憶されている。さらに、当該記憶装置３１ａには、データ変換プログラムが実行された際に使用される暗号鍵Ｋを生成するための秘密情報Ｋ０が格納されている。この車載機１３に記憶される秘密情報Ｋ０及び暗号鍵更新プログラムは、電子キー１２に記憶されているものと同じである。このため、電子キー１２及び車載機１３において生成される暗号鍵も同じものとなる。
【００５４】
なお、前記の暗号鍵更新プログラムは、いわゆる一方向性関数（ここでは、ハッシュ関数）を利用して、前記秘密情報Ｋ０から最初の暗号鍵を生成するとともに、所定の更新タイミングで当該暗号鍵を更新するためのプログラムである。そして前記一方向性関数としては、例えばハッシュ関数が採用可能である。ここでハッシュ関数とは、不定長の入力から固定長のデータを出力するものであって、出力から入力のデータを推測できないこと、同じ出力を持つ入力データを容易に作成できないこと、同じ出力データとなる可能性が非常に低いことが要件とされているものである。このようなハッシュ関数には、ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）、及びＭＤ２，ＭＤ４，ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ２，４，５）等が知られているところ、本実施の形態では、ＳＨＡ−１が採用されている。このＳＨＡ−１は、１６０ビットのデータをハッシュ値として出力する。
【００５５】
さて、最初の暗号鍵の生成処理及びその後に行われる暗号鍵の更新処理の手順を図３に示す動作シーケンス図に従って詳細に説明する。最初の暗号鍵の生成処理及び暗号鍵の更新処理は、電子キー１２及び車載機１３のそれぞれに格納された暗号鍵更新プログラムに従って、電子キー１２及び車載機１３のそれぞれにおいて個別に実行される。
【００５６】
まず、前述したように、電子キー１２の記憶装置２１ａ及び車載機１３の記憶装置３１ａには、暗号鍵を生成する際に使用される秘密情報Ｋ０が記憶されているところ、これら記憶装置２１ａ，３１ａにおける秘密情報Ｋ０の共有化は、車両の生産工場あるいは車両の販売業者等の安全な場所において、例えば次のようにして行われる。
【００５７】
すなわち、当該秘密情報Ｋ０は、車載機１３（正確には、照合制御装置３１）に設けられた図示しない乱数生成器により生成された乱数であって、照合制御装置３１は、この生成された乱数である秘密情報Ｋ０を自身の記憶装置３１ａに記憶する。また照合制御装置３１は、車両Ｃａｒと電子キー１２とのペアリング、すなわち電子キー１２を車両Ｃａｒに登録する際の無線通信を利用して、生成された秘密情報Ｋ０を電子キー１２へ送る。電子キー１２は、車両Ｃａｒから送られてきた秘密情報Ｋ０を自身の記憶装置２１ａに記憶する。このようにして、車両Ｃａｒと電子キー１２との間で同一の秘密情報Ｋ０の共有化が図られる。
【００５８】
＜第１世代の暗号鍵の生成処理＞
そしてこの秘密情報Ｋ０の共有化の完了後、制御回路２１及び照合制御装置３１では、それぞれ当該秘密情報Ｋ０を使用して最初の暗号鍵Ｋ（以下、「第１世代の暗号鍵Ｋ１」という。）の生成処理が行われる。制御回路２１及び照合制御装置３１は、前述した車両の生産工場あるいは販売業者等に設備される図示しない無線通信装置を通じて送信される、第１世代の暗号鍵Ｋ１の生成処理を開始する旨要求する生成指令信号を受けて、第１世代の暗号鍵Ｋ１の生成処理を開始する（ステップＳ１０１，Ｓ２０１）。
【００５９】
すなわち、図３の動作シーケンス図に示されるように、制御回路２１及び照合制御装置３１は、自身の記憶装置２１ａ，３１ａに記憶されている秘密情報Ｋ０を所定の回数ｎ（ｎは、０でない正の整数）だけハッシュ関数により処理し、この演算結果を１世代の暗号鍵として記憶装置２１ａ，３１ａに記憶する（ステップＳ１０２，Ｓ２０２ｂ）。
【００６０】
ここで、ハッシュ関数をＨ（）、ハッシュ関数Ｈ（）に入力されるデータをＫｉ、当該ハッシュ関数Ｈ（）から出力される演算結果（ハッシュ値）をＫｉ＋１としたとき、これらの関係は次式（Ａ）のように示される。暗号鍵Ｋは、秘密情報Ｋ０及び次式（Ａ）を使用して求められる。
【００６１】
Ｋｉ＋１＝Ｈ（Ｋｉ）                                                  …（Ａ）
ただし、ｉは、０≦ｉ＜ｎを満たす整数である。
第１世代の暗号鍵の生成について詳述すると、制御回路２１及び照合制御装置３１は、第１世代の暗号鍵を求める際には、まず秘密情報Ｋ０を前記式（Ａ）で示されるハッシュ関数Ｈ（）に入力する。すると、その演算結果として、Ｋ１＝Ｈ（Ｋ０）が得られる。次に、制御回路２１及び照合制御装置３１は、この得られたＫ１を再びハッシュ関数Ｈ（）に入力する。すると、その演算結果として、Ｋ２＝Ｈ（Ｋ１）が得られる。以後、制御回路２１及び照合制御装置３１は、これをハッシュ関数Ｈ（）に対する入力回数が所定の回数ｎに達するまで繰り返す。これにより、制御回路２１及び照合制御装置３１は、Ｋｎ＝Ｈ（Ｈｎ−１）を求め、このＫｎを第１世代の暗号鍵として設定する。
【００６２】
なお、この第１世代の暗号鍵Ｋｎの生成過程において算出される演算結果、すなわちハッシュ関数Ｈ（）に対する入力回数が１回目からｎ−１回目までの間に算出される演算結果Ｋ１〜Ｋｎ−１は破棄される。また、第１世代の暗号鍵Ｋ１を生成する際において、ハッシュ関数に入力される回数ｎは、システム（ここでは、車両Ｃａｒ）のライフサイクルを考慮して設定される値であって、当該ライフサイクル中において安全性が十分に確保されると予め想定された暗号鍵の更新回数の最大値である。例えば、車両Ｃａｒのライフサイクル中に、１０回暗号鍵を更新すれば安全性が十分に確保されるとしたときには、ｎ＝１０とされる。ちなみに、ライフサイクルとは、製品が開発されてから処分されるまでの一連の過程をいい、例えば車両の場合には、これが製造されてから廃車されるまでの期間のサイクルをいう。
【００６３】
そしてこのように、制御回路２１及び照合制御装置３１の間で第１世代の暗号鍵Ｋｎが共有された状態で、車両Ｃａｒはユーザに引き渡される。車両Ｃａｒの使用に際して、電子キー１２と車両Ｃａｒとの間で前述したチャレンジ・レスポンス認証が行われるときには、電子キー１２及び車両Ｃａｒの間で共有される第１世代の暗号鍵Ｋｎが使用される。第１世代の暗号鍵Ｋｎが生成された後、制御回路２１及び照合制御装置３１は、所定の制御周期で以下に示される暗号鍵の更新処理を実行する。
【００６４】
＜暗号鍵の更新処理＞
車載機１３は、第１世代の暗号鍵Ｋｎが設定された後、当該暗号鍵Ｋｎの更新時機が到来したか否かを判断する（ステップＳ１０３）。
【００６５】
当該判定は、次のようにして行われる。例えば車載機１３は、図示しないタイマを通じて第１世代の暗号鍵Ｋｎが生成されて照合制御装置３１の記憶装置３１ａに記憶されてからの経過時間を計測し、この計測された時間が定められた更新時機判定時間に達したか否かにより暗号鍵Ｋｎの更新時機が到来したか否かを判断する。また、暗号鍵Ｋｎの更新時機の到来の有無は、次のようにして判断するようにしてもよい。すなわち、車載機１３は、第１世代の暗号鍵Ｋｎが生成された後に、電子キー１２との間で実行された前述のチャレンジ・レスポンス認証による電子キー１２の認証回数を図示しないカウンタを通じて計測し、この計測された認証回数が定められた更新時機判定回数に達したか否かにより暗号鍵Ｋｎの更新時機が到来したか否かを判断する。
【００６６】
そして、車載機１３は、暗号鍵Ｋｎの更新時機が到来していない旨判断した場合（ステップＳ１０３でＮＯ）には、この暗号鍵Ｋｎの更新処理を終了する。一方、車載機１３は、暗号鍵Ｋｎの更新時機が到来した旨判断した場合（ステップＳ１０３でＹＥＳ）には、自身の持つ暗号鍵Ｋｎの更新を保留した上で、次のステップＳ１０４へ処理を移行する。
【００６７】
このステップＳ１０４では、車載機１３は電子キー１２が車両Ｃａｒの近傍に存在するか否かを判断する。ここでは、車載機１３は、電子キー１２の車室内における存在の有無、具体的には車両Ｃａｒが走行中であるか否かの判断に基づき、電子キー１２が車両Ｃａｒの近傍に存在するか否かを判断する。したがって、当該ステップ１０４において、車載機１３は、図示しない車速センサを通じてそのときの車両Ｃａｒの走行速度を検出し、この検出された走行速度が定められた速度（例えば、時速２０ｋｍ）に達していない旨判断したときには、暗号鍵の更新処理を終了する。一方、ステップＳ１０４において、車載機１３は、車両Ｃａｒの走行速度が定められた速度に達している旨判断したときには、車両Ｃａｒは走行中であって、かつ電子キー１２は確実に車室内に存在するとして、処理をステップＳ１０５へ移行する。
【００６８】
そしてこのステップＳ１０５では、車載機１３は、暗号鍵Ｋｎの更新を要求する旨示す更新要求信号Ｓｒｅｎを電子キー１２へ送信する。この更新要求信号Ｓｒｅｎは、車載機１３において生成された乱数情報であるチャレンジコードＲａ、当該チャレンジコードＲａを自身の有する暗号鍵、ここでは第１世代の暗号鍵Ｋｎにより暗号化した結果の情報であるレスポンスコードＥＫ（Ｒａ）及び電子キー１２に対して暗号鍵の更新を要求する旨示す更新要求コードを含んでなる。
【００６９】
ここで、前述したように、車両Ｃａｒのエンジンの始動は、車室内において電子キー１２と車載機１３との間で相互認証が成立した場合にのみ許可されることから、車両Ｃａｒが走行中であれば、電子キー１２は必ず車室内に存在するということができる。そして、この状態で、更新要求信号Ｓｒｅｎを送信すれば、これが電子キー１２に受信される蓋然性は非常に高い。このため、車載機１３は、前述のステップＳ１０３において、暗号鍵Ｋｎの更新時機が到来した旨判断した場合であっても、電子キー１２が車室内に存在する旨確認されるまで、更新要求信号の送信を保留する。
【００７０】
なお、前記ステップＳ１０４の判断は、次のように変更することも可能である。すなわち、車載機１３は、暗号鍵Ｋｎの更新時機が到来した旨判断した場合に、前述した車室外照合あるいは車室内照合が成立したことともって、電子キー１２が車両の近傍に存在する旨判断する。このようにしても、電子キー１２が車両の近傍に存在するか否かの判断がなされた上で、更新要求信号Ｓｒｅｎが送信されることから、当該信号は確実に電子キー１２に受信される。
【００７１】
また、暗号鍵の更新時機が到来した旨判断された場合に、電子キー１２の存在の有無を判断することなく、更新要求信号Ｓｒｅｎを車室外あるいは車室内に送信することも可能ではある。この場合、電子キー１２が車室外における車両Ｃａｒの近傍、あるいは車室内に存在すれば、当該電子キー１２は車載機１３からの更新要求信号Ｓｒｅｎを受信する。しかし、電子キー１２が車室外における車両Ｃａｒの近傍、あるいは車室内に存在しなければ、当該電子キー１２は車載機１３からの更新要求信号Ｓｒｅｎを受信することはない。この場合には、車載機１３は例えば更新要求信号Ｓｒｅｎの送信を所定の回数だけ繰り返す等、何らかの対策を講じる必要がある。
【００７２】
さて、電子キー１２は、車載機１３からの更新要求信号Ｓｒｅｎを受信すると、当該信号の妥当性、すなわち、当該信号が自身に対応する正規の車載機１３からのものであるか否かを判断する（ステップＳ２０３）。すなわち、電子キー１２は、受信した更新要求信号Ｓｒｅｎに含まれるチャレンジコードＲａを自身の有する暗号鍵、ここでは第１世代の暗号鍵Ｋｎを使用して暗号化し、この暗号化した結果を、同じく更新要求信号Ｓｒｅｎに含まれるレスポンスコードＥＫ（Ｒａ）と照合する。電子キー１２は、当該照合が成立しない場合（ステップＳ２０３でＮＯ）には、受信した更新要求信号Ｓｒｅｎが自身に対応する正規の車載機１３からのものではないおそれがあるとして、当該暗号鍵の更新処理を終了する。
【００７３】
一方、電子キー１２は、当該照合が成立した場合（ステップＳ２０３でＹＥＳ）には、次のような処理を行う。すなわち、電子キー１２は、受信した更新要求信号Ｓｒｅｎが自身に対応する正規の車載機１３からのものであると判断し、更新要求信号Ｓｒｅｎを正常に受信した旨示す応答信号として当該更新要求信号Ｓｒｅｎに含まれるチャレンジコードＲａを自身の有する暗号鍵Ｋｎを使用して暗号化した結果であるレスポンスコードＥＫ（Ｒａ）を含むレスポンス信号Ｓｒｅｓを車載機１３へ送信する。そして電子キー１２は、この後、暗号鍵Ｋｎの更新処理を実行する（ステップＳ２０４）。
【００７４】
車載機１３では、受信したレスポンス信号Ｓｒｅｓの妥当性、すなわち、当該信号が自身に対応する正規の電子キー１２からのものであるか否かを判断する（ステップＳ１０６）。すなわち、車載機１３は、自らが生成したチャレンジコードＲａを自分の持つ暗号鍵Ｋで暗号化した結果と、受信したレスポンス信号Ｓｒｅｓに含まれるレスポンスコードＥＫ（Ｒａ）とを比較する。そして車載機１３は、それらの値が一致しなければ、受信したレスポンス信号Ｓｒｅｓは自身に対応した電子キー１２からのものではないおそれがあるとして、当該暗号鍵の更新処理を終了する（ステップＳ１０６でＮＯ）。一方、車載機１３は、それら値が一致すれば車載機１３は当該レスポンス信号Ｓｒｅｓを送信してきた電子キー１２は自身に対応する正規のものである旨判断する（ステップＳ１０６でＹＥＳ）。そして車載機１３は、保留していた自身の暗号鍵Ｋｎの更新処理を実行する（ステップＳ１０７）。
【００７５】
ここで、例えば正規の車載機１３になりすました第三者により更新要求信号が不正に送信されることも想定されるところ、電子キー１２では、前述したように、更新要求信号Ｓｒｅｎを送ってきた相手が正規の通信相手である旨の認証が成立してはじめて暗号鍵の更新が実行される。このため、電子キー１２において、第三者により不正に送信される更新要求信号に基づき暗号鍵の更新が実行されることはなく、安全性が確保される。また、同様に正規の電子キー１２になりすました第三者により更新要求信号を正常に受信した旨示す応答が返信されることも想定されるところ、車載機１３側においても当該応答してきた相手が正規の通信相手である旨の認証が成立してはじめて暗号鍵の更新が実行される。このため、車載機１３において、第三者により不正に送信される更新要求信号Ｓｒｅｎに対する応答に基づき暗号鍵の更新が実行されることはない。ただし、本実施の形態では、暗号鍵の更新処理は、前述したように、車両Ｃａｒが走行中であることを前提として実行されることから、当該暗号鍵の更新処理を実行する際においては既に電子キー１２及び車載機１３の相互認証がなされている。このため、暗号鍵の更新時において、車載機１３側での電子キー１２の認証処理を省略するようにしてもよい。この場合には、電子キー１２は、更新要求信号Ｓｒｅｎを正常に受信した旨の応答を車載機１３に返信する。これに対し、電子キー１２側での車載機１３の認証については実行することが望ましい。これは、電子キー１２はユーザに所持されるものであることから、車両Ｃａｒとは別の場所において前述したなりすましの問題が発生するおそれがあるからである。
【００７６】
さて、電子キー１２及び車載機１３において、第１世代の暗号鍵Ｋｎの更新は次のようにして行われる。すなわち、ステップＳ１０７及びステップＳ２０４において、制御回路２１及び照合制御装置３１は、まず秘密情報Ｋ０を前記式（Ａ）で示されるハッシュ関数Ｈ（）に入力することにより、Ｋ１＝Ｈ（Ｋ０）を求め、次に当該Ｋ１を再びハッシュ関数Ｈ（）に入力する。以後、制御回路２１及び照合制御装置３１は、ハッシュ関数Ｈ（）に対する入力回数が前記所定の回数ｎよりも１回だけ少ないｎ−１回に達するまで当該ハッシュ関数Ｈ（）に対する入力を繰り返す。この繰り返し処理により、制御回路２１及び照合制御装置３１は、Ｋｎ−１＝Ｈ（Ｈｎ−２）を求め、このＫｎ−１を第２世代の暗号鍵として設定する。
【００７７】
なお、今まで使用していた第１世代の暗号鍵Ｋｎ、及び第２世代の暗号鍵Ｋｎ−１の生成過程において算出される演算結果、すなわちハッシュ関数Ｈ（）に対する入力回数が１回目からｎ−２回目までの間に算出される演算結果Ｋ１〜Ｋｎ−２は破棄される。
【００７８】
以上で、暗号鍵の更新処理は完了となる。この後、電子キー１２及び車載機１３は、更新時機が到来する毎に、前述と同様にして暗号鍵の更新を行う。この際には、電子キー１２及び車載機１３は、暗号鍵の更新を実行する毎に、ハッシュ関数Ｈ（）に対する繰り返し入力回数を、ｎ−２回→ｎ−３回→・・・→２回→１回のように、前回の更新時よりも１回だけ減らしていく。すなわち、図４に示されるように、電子キー１２及び車載機１３は、暗号鍵の更新時機が到来する毎に、Ｋｎ（第１世代の暗号鍵）→Ｋｎ−１（第２世代の暗号鍵）→…→Ｋ３（第ｎ−２世代の暗号鍵）→Ｋ２（第ｎ−１世代の暗号鍵）→Ｋ１（第ｎ世代の暗号鍵）の順に暗号鍵を変更する。なお、電子キー１２及び車載機１３は、それぞれ自身の暗号鍵の更新回数を記憶装置２１ａ，３１ａに履歴として記憶している。これにより、電子キー１２及び車載機１３では、前述のようなハッシュ関数Ｈ（）に対する繰り返し入力回数の制御が可能となる。
【００７９】
このような暗号鍵の更新方法によれば、仮に通信の傍受・解析により、ある時点での暗号鍵が破られた場合でも、更新後の新たな暗号鍵、すなわち次世代の暗号鍵を知ることは困難である。これは、ハッシュ関数の一方向性を破ることは一般に困難であるとされているからである。なお、ハッシュ関数の一方向性とは、出力が分かっても入力を知ることは困難である性質をいう。本実施の形態で言えば、例えば第１世代の暗号鍵Ｋｎが傍受・解析されたとしても、当該暗号鍵Ｋｎから第２世代の暗号鍵Ｋｎ−１を求めることはできないことをいう。第１世代の暗号鍵Ｋｎは、第２世代の暗号鍵Ｋｎ−１をさらにハッシュ関数Ｈ（）に入力した結果（出力）であることから、この出力である第１世代の暗号鍵Ｋｎから、入力である第２世代の暗号鍵Ｋｎ−１を求めることはできない。このため、本実施の形態では、このようなハッシュ関数の一方向性を利用して暗号鍵の更新を行うことにより、暗号鍵の盗聴あるいは解析等に対する防犯性能が確保される。
【００８０】
ちなみに、暗号鍵の更新を行う毎に、ハッシュ関数Ｈ（）に対する繰り返し入力回数を前回の更新時よりも１回だけ増やしていくといった手法の採用も考えられる。しかし、この場合、ある時点での暗号鍵が傍受・解析等されたときには、当該暗号鍵を使用して次世代の暗号鍵を求めることが可能となる。これは、前述したハッシュ関数を含めて、暗号化のアルゴリズム自体は一般に公開されるからである。例えば第３世代の暗号鍵Ｋｎ−２が分かれば、第４世代、第５世代…第ｎ世代の暗号鍵を求めることができる。このため、本実施の形態では、暗号の安全性を確保するという観点から、暗号鍵の更新を行う毎に、ハッシュ関数Ｈ（）に対する繰り返し入力回数を前回の更新時よりも１回だけ減らしていくといった手法を採用している。また、本実施の形態の暗号鍵の更新方法によれば、当該更新に必要な情報として、前記秘密情報Ｋ０のみを電子キー１２及び車載機１３の間で共有しておけばよいことから、これらの記憶装置２１ａ，３１ａの容量を大きく消費することもない。
【００８１】
＜実施の形態の効果＞
従って、本実施の形態によれば、以下の効果を得ることができる。
（１）共通鍵暗号方式による暗号化通信を行う電子キー１２及び車載機１３間で共有する暗号鍵を生成するために使用される特定の秘密情報Ｋ０をこれらの間で予め共有させた。そして、電子キー１２及び車載機１３は、それぞれ同一の一方向性関数であるハッシュ関数Ｈ（）に対する秘密情報Ｋ０の入力を含め当該関数による演算結果を当該関数に対して、定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵Ｋ１として設定するようにした。また、電子キー１２及び車載機１３は、当該暗号鍵Ｋ１の更新に際しては、ハッシュ関数Ｈ（）に対する秘密情報Ｋ０の入力を含め当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも一少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定するようにした。
【００８２】
すなわち、最初の暗号鍵Ｋ１を生成する際のハッシュ関数Ｈ（）に対する繰り返し入力回数をｎ（ｎは、０でない正の整数）回とした場合に、例えば最初の暗号鍵Ｋ１を更新するときには、ハッシュ関数Ｈ（）に対する秘密情報Ｋ０の入力を含め当該関数による演算結果を当該関数に対してｎ−１回だけ繰り返し入力して得られる結果が新たな暗号鍵として使用される。以後、暗号鍵を更新する度に、ｎ−２回→ｎ−３回→…→２回→１回のように、ハッシュ関数Ｈ（）に対する繰り返し入力回数が一ずつ減らされる。そしてその演算結果が新たな暗号鍵として使用される。
【００８３】
暗号鍵は電子キー１２及び車載機１３で各々生成されることから、これらの間で通信を行うことなく暗号鍵の生成、ひいては更新を行うことができる。このため、通信相手同士間の通信を利用して暗号鍵の更新を行う従来の暗号鍵の更新方法と異なり、暗号鍵の受け渡しを行わないことから、暗号鍵の更新時における暗号鍵の傍受あるいは解析等に対するリスクが回避される。
【００８４】
また、一方向性関数であるハッシュ関数の性質、すなわち出力が分かっても入力を知ることが困難であるという性質を利用して暗号鍵の更新が行われる。すなわち、暗号鍵を更新する毎に、ハッシュ関数への繰り返し入力回数を一ずつ減らすようにしていることから、例え過去に使用していた暗号鍵が第三者に所得されたとしても、一方向性関数の性質上、当該過去の暗号鍵から新たな暗号鍵を導き出すことは困難である。このため、暗号の解読等に対する防犯性能を確保することができる。
【００８５】
さらに、電子キー１２及び車載機１３の間で共有する暗号鍵の更新に必要とされる情報は、秘密情報Ｋ０だけであることから、電子キー１２及び車載機１３の記憶容量を大きく消費することはない。
【００８６】
（２）電子キー１２及び車載機１３は、それぞれの暗号鍵を生成する際に、ハッシュ関数Ｈ（）に対する秘密情報Ｋ０の入力を含めて当該関数による演算結果を当該関数に対して繰り返し入力する過程で得られる演算結果を破棄するようにした。
【００８７】
例えば最初の暗号鍵Ｋ１を生成する際には、ハッシュ関数への入力を繰り返す過程において次のような演算結果が得られる。すなわち、ハッシュ関数Ｈ（）からは、秘密情報Ｋ０をハッシュ関数に入力して得られる１回目の演算結果、同じく当該１回目の演算結果を入力して得られる２回目の演算結果、…、同じくｎ−２回目の演算結果を入力して得られるｎ−１回目の演算結果が出力される。これら演算結果は、それぞれ次回以降の新たな暗号鍵として使用されることから、これらを残しておくことは暗号の安全性を確保する観点から好ましくない。この点、前述したように、暗号鍵を生成する際に、ハッシュ関数への入力を繰り返す過程で得られる演算結果を破棄することにより、暗号鍵の傍受・解析に起因する暗号解読等に対する防犯性が高められる。
【００８８】
（３）車載機１３の照合制御装置３１には、暗号鍵の更新を行う時機として定められた更新時機が到来したか否かの判定を行う判定手段としての機能を備えて構成した。そしてこの照合制御装置３１により暗号鍵の更新を行う時機が到来した旨判定されたとき、車載機１３は、自身の暗号鍵の更新を保留した状態で通信相手である電子キー１２へ暗号鍵の更新を実行する旨要求する更新要求信号Ｓｒｅｎを送信するようにした。電子キー１２は、当該更新要求信号Ｓｒｅｎを正常に受信したときにはその旨示す応答信号であるレスポンス信号Ｓｒｅｓを車載機１３へ送信するとともに自身の暗号鍵の更新を実行するようにした。自身の暗号鍵の更新を保留している車載機１３は電子キー１２からのレスポンス信号Ｓｒｅｓの受信を待って自身の暗号鍵の更新を実行するようにした。
【００８９】
車載機１３から送信される更新要求信号Ｓｒｅｎが何らかの理由により電子キー１２に正常に受信されない場合が想定されるところ、この場合には、電子キー１２では暗号鍵の更新は行われない。またこの場合には当該電子キー１２からの応答がないことから、車載機１３でも暗号鍵の更新は行われない。すなわち、電子キー１２で暗号鍵の更新が行われないにもかかわらず、車載機１３のみが暗号鍵の更新を実行するといった不具合を回避することができる。このように、車載機１３は、暗号鍵の更新を要求する更新要求信号Ｓｒｅｎが電子キー１２により正常に受信されたことが確認されて初めて自身の暗号鍵の更新を実行するようにしたことにより、電子キー１２及び車載機１３において、それぞれの暗号鍵の更新処理が確実に同期して実行される。
【００９０】
（４）電子キー１２及び車載機１３は、自身の暗号鍵の更新を実行するに際して、通信相手となる車載機１３及び電子キー１２が正規の通信相手か否かの認証を行い、当該認証が成立したときに、自身の暗号鍵の更新を実行するようにした。
【００９１】
このため、正規の電子キー１２あるいは車載機１３になりすました第三者との通信に基づき当該車載機１３あるいは電子キー１２で暗号鍵の更新が実行されることはない。したがって、いたずら等による暗号鍵の更新を回避することができる。
【００９２】
＜他の実施の形態＞
なお、本実施の形態は、次のように変更して実施してもよい。
・本実施の形態に示されるような電子キーシステムにおいては、同一の車両に対して複数個の電子キーが登録される場合も多く想定される。この場合には、これら電子キー及び車載機１３の間で共有される秘密情報Ｋ０は、電子キー毎に異なるものとすることが望ましい。すなわち、前述したように、同一の車両に複数個の電子キーが登録される場合において、各電子キー及び車載機１３の間で共有する秘密情報Ｋ０をすべて同じものとしたときには、次のような問題が懸念される。例えば各電子キーのいずれか一を紛失等したときには、防犯性能を確保する観点から、すべての電子キーの登録を抹消する等の措置を講じる必要がある。この点、前述したように、各電子キーと車載機１３との間で共有する秘密情報Ｋ０を電子キー毎にすべて異なるものとすれば、当該紛失等した電子キーの登録のみを抹消すればよい。これは、各電子キー間で同一の秘密情報Ｋ０、ひいては暗号鍵を共有しないからである。このため、同一の車両に対して複数個の電子キーが登録されている場合において、例えばそのうち一の電子キーを紛失等したときの対応作業が簡単になる。
【００９３】
・本実施の形態では、車載機１３側で暗号鍵の更新時機の到来の有無を監視し、更新時機が到来した旨判断した場合には、車載機１３から電子キー１２へ更新要求信号Ｓｒｅｎを送信するようにしたが、これを電子キー１２側で行うようにしてもよい。すなわち、電子キー１２側で暗号鍵の更新時機の到来の有無を監視し、更新時機が到来した旨判断した場合には、電子キー１２から車載機１３へ更新要求信号Ｓｒｅｎを送信する。
【００９４】
・本実施の形態では、電子キー１２及び車載機１３の間の相互認証の方式として、暗号化のみ必要とされるチャレンジ・レスポンス認証方式を採用したが、通信相手同士で同一の暗号鍵を共有して暗号化あるいは復号化を行う共通鍵暗号方式を利用するものであれば、どのような認証方式を採用してもよい。
【００９５】
・本実施の形態では、車載機１３及び電子キー１２のそれぞれにおいて暗号鍵の更新を実行する際に、これら間で相互認証を行うようにしたが、これを省略するようにしてもよい。この場合、電子キー１２及び車載機１３での処理は、例えば次のようなものになる。すなわち、電子キー１２は、車載機１３からの更新要求信号Ｓｒｅｎを正常に受信すると、その旨示す応答信号を車載機１３へ送信するとともに、自身の暗号鍵の更新を実行する。車載機１３側では、送信した更新要求信号Ｓｒｅｎに対する電子キー１２からの応答信号を受信すると、更新要求信号Ｓｒｅｎが電子キー１２に正常に受信された旨認識し、自身の暗号鍵の更新を実行する。
【００９６】
・本実施の形態では、車載機１３は、更新要求信号Ｓｒｅｎに対する電子キー１２からの応答を待って自身の暗号鍵の更新処理を実行するようにしたが、次のようにしてもよい。すなわち、車載機１３は、車両が走行中である旨判断したときに、更新要求信号Ｓｒｅｎを送信するとともに、当該信号に対する電子キー１２からの応答を待つことなく自身の暗号鍵の更新処理を実行する。前述したように、車載機１３は、車両が走行中であるか否か、すなわち電子キー１２が車両の近傍に存在することを確認した上で更新要求信号Ｓｒｅｎを送信することから、当該信号が電子キー１２に受信される蓋然性は高い。したがって、車載機１３は、更新要求信号Ｓｒｅｎに対する電子キー１２からの応答を待たずに自身の暗号鍵の更新を実行したとしても、何ら問題はない。車載機１３及び電子キー１２における暗号鍵の更新は同期して実行される。
【００９７】
・本実施の形態では、車載機１３は、暗号鍵の更新時機が到来した旨判断した場合、車両が走行中であることを条件として、更新要求信号Ｓｒｅｎを電子キー１２へ送信するようにしたが、車両が走行中であるか否かにかかわらず、更新要求信号Ｓｒｅｎを送信するようにしてもよい。このようにした場合であれ、送信した更新要求信号Ｓｒｅｎに対する電子キー１２からの応答の有無により、電子キー１２が車両の近傍に存在するか否かの判断が可能となる。すなわち、車載機１３は、送信した更新要求信号Ｓｒｅｎに対する電子キー１２からの応答があった場合には自身の暗号鍵の更新を実行し、当該応答がない場合には電子キーが車両の近傍にないとして自身の暗号鍵の更新を実行することなく、前回の暗号鍵の使用を継続する。
【００９８】
・また、本実施の形態において、例えば電子キー１２及び車載機１３の間において、前述した車室外照合あるいは車室内照合が成立したことをもって、またはエンジン等の車両の走行用駆動源の始動が検出されたことをもって、電子キー１２が車両の近傍に存在する旨判断することも可能である。
【００９９】
・本実施の形態では、車載機１３は、暗号鍵の更新時機が到来した旨判断したときには、電子キー１２に対して暗号鍵の更新を要求する更新要求信号Ｓｒｅｎを送信するようにしたが、当該信号の送信を省略するようにしてもよい。この場合、例えば電子キー１２及び車載機１３の各々で暗号鍵の更新時機の到来を監視する。例えば暗号鍵の更新時機を前回の更新がなされてからの経過時間として設定し、当該経過時間を車載機１３及び電子キー１２のそれぞれに設けられるタイマにより計測する。また、時刻情報を含むいわゆる標準電波等に基づき、電子キー１２及び車載機１３に各々同期して暗号鍵の更新を実行させることも可能である。
【０１００】
・本実施の形態では、相互無線通信を行う２つの通信装置、すなわち電子キー１２及び車載機１３における暗号鍵の更新を一例に挙げたが、例えば通信バス等により相互に接続される複数の電子制御装置、あるいは通信ケーブル等により相互に接続される複数のコンピュータからなる有線通信システムに本発明を適用することも可能である。
【０１０１】
ここで、本実施の形態では、車載機１３は、暗号鍵の更新時機が到来した旨判断した場合、車両が走行中であることを条件として、更新要求信号Ｓｒｅｎを電子キー１２へ送信するとともに、当該信号を正常に受信した旨示す電子キー１２からの応答を待って自身の暗号鍵の更新を実行するようにした。これは、電子キー１２はユーザに所持されるものであるがゆえに採用される構成である。しかし、通信相手同士が有線で相互に接続されてなる前述のような通信システムにおいては、次のような構成を採用することもできる。すなわち、一の通信装置（電子制御装置あるいはコンピュータ）は、暗号鍵の更新時機が到来した旨判定した場合には、自身の暗号鍵の更新処理を実行するとともに通信相手である他の通信装置（電子制御装置あるいはコンピュータ）へ更新要求信号を送信し、当該他の通信装置は、当該更新要求信号を受けて自身の暗号鍵の更新を実行する。
【０１０２】
・本実施の形態では、暗号鍵の更新に際しては、一方向性関数（ハッシュ関数）に対する秘密情報Ｋ０の入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも一少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定するようにしたが、次のようにしてもよい。例えば暗号鍵を更新する際の一方向性関数に対する繰り返し入力回数は、前回の暗号鍵の生成時よりも２あるいは３あるいはそれ以上の数（ただし、ｎ未満）だけ少ない回数とする。すなわち、暗号鍵を更新する際の一方向性関数に対する繰り返し入力回数は、前回の暗号鍵の生成時よりも少ない回数であればよい。このようにした場合であれ、過去に使用していた暗号鍵が例え第三者に所得されたとしても、一方向性関数の性質上、当該過去の暗号鍵から新たな暗号鍵を導き出すことが困難であることに変わりはない。このため、暗号の解読等に対する防犯性能を確保することができる。
【０１０３】
＜他の技術的思想＞
次に、前記実施の形態より把握できる技術的思想について以下に記載する。
・同一の暗号鍵を使用してデータの暗号化及び復号化を行う共通鍵暗号方式を利用した暗号化通信を行う２つの通信装置間で共有する暗号鍵を更新する暗号鍵更新方法において、
前記２つの通信装置間で共有する暗号鍵を生成するために使用される特定の秘密情報をこれら通信装置間で予め共有させた上で、これら通信装置はそれぞれ同一の一方向性関数に対する前記秘密情報の入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵として設定するとともに、当該暗号鍵の更新に際しては、前記一方向性関数に対する前記秘密情報の入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定する暗号鍵更新方法。
【０１０４】
この暗号鍵更新方法によれば、共通鍵暗号方式で使用される暗号鍵の更新を簡単且つ安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる。
【図面の簡単な説明】
【０１０５】
【図１】電子キーシステムの概略構成を示すブロック図。
【図２】電子キー及び車載機の間の相互認証手順を示す動作シーケンス図。
【図３】暗号鍵の生成及び更新の手順を示す動作シーケンス図。
【図４】新たな暗号鍵とハッシュ関数への入力回数との関係を示すブロック図。
【図５】従来の暗号鍵の更新手順の概略を示すブロック図。
【符号の説明】
【０１０６】
１１…電子キーシステム（暗号鍵更新システム、）、１２…電子キー（通信装置）、１３…車載機（通信装置）、３１…照合制御装置（判定手段）、Ｈ（）…ハッシュ関数（一方向性関数）、Ｋ…暗号鍵、Ｋ０…秘密情報、Ｓｒｅｎ…更新要求信号、Ｓｒｅｓ…レスポンス信号（応答信号）。
【図１】
2009284086.tif 000003
【図２】
2009284086.tif 000004
【図３】
2009284086.tif 000005
【図４】
2009284086.tif 000006
【図５】
2009284086.tif 000007