説明

暗号鍵更新システム及び暗号鍵更新方法

【課題】共通鍵暗号方式で使用される暗号鍵の更新を安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる暗号鍵更新システムを提供する。
【解決手段】共通鍵暗号方式による暗号化通信を行う電子キー12及び車載機13間で共有する暗号鍵を生成するための秘密情報Kをこれらの間で予め共有させた。電子キー12及び車載機13は同一の一方向性関数であるハッシュ関数H()に対する秘密情報Kの入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵Kとして設定する。電子キー12及び車載機13は、当該暗号鍵Kの更新に際しては、当該関数に対する秘密情報Kの入力を含め当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも一少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、共通鍵暗号方式で使用される暗号鍵の更新方法に関するものである。
【背景技術】
【0002】
近年では、コンピュータ等を含め各種の電子機器のネットワーク化が急速に進行しつつある。これに伴い情報が大きな価値を持つようになり、情報に対するセキュリティもまた大きな意味を持つようになってきている。特に、赤外線や電波等を通じてデータを送受信する無線通信は、ケーブル等の敷設を必要としないことから急速に普及しつつある一方で、その送受信するデータの漏洩が発生しやすいため、第三者によるデータの傍受及び改ざん等を防ぐための対策が有線通信以上に重要視される。
【0003】
このような問題を回避するため、特定の通信相手同士でデータを暗号化して伝送する暗号化通信がよく行われている。このときに利用される暗号技術として、DES及びAESに代表される共通鍵暗号方式が現在広く使用されている。共通暗号鍵方式は、送信側(データを暗号化する側)と受信側(暗号化されたデータを復号化する側)とが、予め共通の暗号鍵を持ち、この同一の暗号鍵を使用して暗号化及び復号化を行う暗号化アルゴリズムである。なお、DES(Data Encryption Standard)は、アメリカ合衆国政府の連邦標準技術局(NIST)が、従来、データ暗号の標準として推奨してきた共有鍵暗号方式である。AES(Advanced Encryption Standard)は、DESに代わるデータ暗号の標準として、近年NISTが推奨している共通鍵暗号方式である。
【0004】
DES及びAESのいずれであれ、共通鍵暗号方式では、暗号を送信する側とそれを受信する側との間で暗号化及び復号化を行うための鍵を共有する必要がある。この暗号鍵の生成は、送信側及び受信側のいずれで行ってもよいが、得られた暗号鍵を通信相手同士で共有するために暗号鍵の受け渡しが必要となる。また、近年のコンピュータの性能の向上に伴い、同じ鍵を継続して使用する場合には、これが第三者により傍受されて解読されるおそれがあることから、適当なタイミングで暗号鍵を更新することが望ましい。
【0005】
しかし、前述したように、コンピュータの普及によって暗号が広く普及しつつある現状にあっては、鍵の受け渡し自体がセキュリティ上の大きな弱点となる。すなわち、暗号鍵の受け渡しを行う場合には、暗号鍵の情報をやり取りするため、この際に暗号鍵の傍受あるいはその解析が行われる等のリスクがある。受け渡しの途中で暗号鍵が外部に漏洩するようなことがあれば、通信の秘密が守れなくなることから、従来、暗号鍵の受け渡しをいかに安全に行うかが大きな問題となっていた。
【0006】
そこで、このような問題を解決するために、例えば特許文献1に記載されるような暗号鍵の更新方法が従来提案されている。当該方法では、共有鍵暗号方式で暗号通信を行う通信相手同士で共有される共有秘密情報に基づいて、新たな暗号鍵を生成する際に使用される更新暗号鍵を同一の一方向性関数に従って通信相手同士で個別に生成することにより、通信をすることなく暗号鍵の更新を行う。
【0007】
すなわち、図5に示すように、最初に通信等による所定の鍵交換方式を通じて256ビットの基本鍵kを交換し、当該基本鍵kを二乗して未知の2つの素数の積である合成数Nでの剰余を更新基本鍵h1とする。そして、そのうちの64ビットをDES等の暗号鍵g1とする。2回目からは、先に生成された更新基本鍵h1を記憶しておき、当該更新基本鍵h1を二乗して前記合成数Nでの剰余を新更新基本鍵h2とする。そして、そのうちの64ビットをDES等の新たな暗号鍵g2とする。以後、前述と同様の処理が繰り返されることにより、新たな更新基本鍵h3,h4…hn(nは正の整数)、及び新たな暗号鍵g3,g4…gn(nは正の整数)が生成される。なお、新たな暗号鍵の生成は、一回の通信が終了するごとに、あるいは通信中に並行して行われる。
【特許文献1】特開2003−110540号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
前述した特許文献1の暗号鍵の更新方法によれば、確かに暗号鍵の交換のための通信を行うことなく、安全に暗号鍵の更新を行うことができる。すなわち、暗号鍵の更新に際して、通信相手同士で通信を行う必要がないことから、前述した暗号鍵の傍受、あるいはその解析等のリスクは回避される。
【0009】
ところが、特許文献1の暗号鍵の更新方法においては、次のような問題があった。すなわち、暗号鍵の更新を行うために必要とされる情報として、通信相手同士で最初に共有する基本鍵kから更新基本鍵hnを求めるために使用される未知の2つの素数の積である合成数N、並びにこれら基本鍵k及び合成数Nから求められる更新基本鍵hnを、不揮発性メモリ等の記憶装置に常に記憶しておく必要がある。このため、暗号鍵だけを記憶しておけばよい従来一般の共通鍵暗号方式との比較において、通信相手同士で共有する情報のサイズが大きくなるという問題がある。
【0010】
ここで、共通鍵暗号方式を利用した暗号化通信を行う際のデータの暗号化は、所定のデータ変換プログラムに従って実行されるところ、当該プログラムは、携帯電話、家電機器、自動車及び産業機器等のコンピュータを組み込んだ機器である組み込みシステムを実現するための組み込みソフトウェアとして使用されることも多い。そして近年では、データ変換プログラムの搭載対象である各種機器のハードウェア性能の向上及び機能要求の高度化とあいまって、当該データ変換プログラムを含む各種の組み込みソフトウェアは飛躍的に規模が大きくなり複雑になってきている。
【0011】
特に、量産品の場合には、製品コストが重要視されるため、メモリ等のリソースの制約が厳しく、限られた記憶容量又はメモリ性能で動作する必要がある。このため、データ変換プログラム、特にそれを組み込みソフトウェアとして使用する場合には、メモリに記憶させておく情報の量は少ないほどよい。このような実情から、前述した特許文献1の暗号鍵の更新方法においては、通信相手同士で共有する暗号鍵の更新に必要とされる情報のサイズの縮小化という点で改善の余地がある。
【0012】
本発明は上記問題点を解決するためになされたものであって、その目的は、共通鍵暗号方式で使用される暗号鍵の更新を安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる暗号鍵更新システムを提供することにある。
【課題を解決するための手段】
【0013】
請求項1に記載の発明は、 同一の暗号鍵を使用してデータの暗号化を行う共通鍵暗号方式を利用した暗号化通信を行う2つの通信装置間で共有する暗号鍵を更新する暗号鍵更新システムにおいて、前記2つの通信装置間で共有する暗号鍵を生成するために使用される特定の秘密情報をこれら通信装置間で予め共有させた上で、これら通信装置はそれぞれ同一の一方向性関数に対する前記秘密情報の入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵として設定するとともに、当該暗号鍵の更新に際しては、前記一方向性関数に対する前記秘密情報の入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定することをその要旨とする。
【0014】
本発明によれば、最初の暗号鍵を生成する際のハッシュ関数に対する繰り返し入力回数をn(nは、0でない正の整数)回とした場合に、例えば最初の暗号鍵を更新するときには、ハッシュ関数に対する秘密情報の入力を含め当該関数による演算結果を当該関数に対してn−1回だけ繰り返し入力して得られる結果が新たな暗号鍵として使用される。以後、暗号鍵を更新する度に、n−2回→n−3回→…→2回→1回のように、ハッシュ関数に対する繰り返し入力回数が減らされる。そしてその演算結果が新たな暗号鍵として使用される。
【0015】
暗号鍵は2つの通信装置で各々生成されることから、これらの間で通信を行うことなく暗号鍵の生成、ひいては更新を行うことができる。このため、通信相手同士間の通信を利用して暗号鍵の更新を行う従来の暗号鍵の更新方法と異なり、暗号鍵の受け渡しを行わないことから、暗号鍵の更新時における暗号鍵の傍受あるいは解析等に対するリスクが回避される。
【0016】
また、一方向性関数であるハッシュ関数の性質、すなわち出力が分かっても入力を知ることが困難であるという性質を利用して暗号鍵の更新が行われる。すなわち、暗号鍵を更新する毎に、ハッシュ関数への繰り返し入力回数を減らすようにしていることから、例え過去に使用していた暗号鍵が第三者に所得されたとしても、一方向性関数の性質上、当該過去の暗号鍵から新たな暗号鍵を導き出すことは困難である。このため、暗号の解読等に対する防犯性能を確保することができる。
【0017】
さらに、2つの通信装置の間で共有する暗号鍵の更新に必要とされる情報は、秘密情報だけであることから、これら通信装置の記憶容量を大きく消費することはない。なお、一方向性関数としては、例えばハッシュ関数を採用することができる。
【0018】
請求項2に記載の発明は、請求項1に記載の暗号鍵更新システムにおいて、前記2つの通信装置は、それぞれの暗号鍵を生成する際に、前記一方向性関数に対する前記秘密情報の入力を含めてその演算結果を当該一方向性関数に繰り返し入力する過程で得られる演算結果を破棄することをその要旨とする。
【0019】
例えば最初の暗号鍵を生成する際には、ハッシュ関数への入力を繰り返す過程において次のような演算結果が得られる。すなわち、ハッシュ関数からは、秘密情報をハッシュ関数に入力して得られる1回目の演算結果、同じく当該1回目の演算結果を入力して得られる2回目の演算結果、…、同じくn−2回目の演算結果を入力して得られるn−1回目の演算結果が出力される。これら演算結果は、それぞれ次回以降の新たな暗号鍵として使用されることから、これらを残しておくことは暗号の安全性を確保する観点から好ましくない。この点、本発明によるように、暗号鍵を生成する際に、ハッシュ関数への入力を繰り返す過程で得られる演算結果を破棄することにより、暗号鍵の傍受・解析に起因する暗号解読等に対する防犯性が高められる。
【0020】
請求項3に記載の発明は、請求項1又は請求項2に記載の暗号鍵更新システムにおいて、前記2つの通信装置のいずれか一方には、暗号鍵の更新を行う時機として定められた更新時機が到来したか否かの判定を行う判定手段を備え、当該判定手段により暗号鍵の更新を行う時機が到来した旨判定されたとき、当該一方の通信装置は、自身の暗号鍵の更新を保留した状態で他方の通信装置へ暗号鍵の更新を実行する旨要求する更新要求信号を送信し、当該他方の通信装置は、前記一方の通信装置からの更新要求信号を正常に受信したときにはその旨示す応答信号を前記一方の通信装置へ送信するとともに自身の暗号鍵の更新を実行し、自身の暗号鍵の更新を保留している前記一方の通信装置は前記他方の通信装置からの前記応答信号の受信を待って自身の暗号鍵の更新を実行することをその要旨とする。
【0021】
一方の通信装置から送信される更新要求信号が何らかの理由により他方の通信装置に正常に受信されない場合が想定されるところ、この場合には、他方の通信装置では暗号鍵の更新は行われない。またこの場合には当該他方の通信装置からの応答がないことから、一方の通信装置でも暗号鍵の更新は行われない。すなわち、他方の通信装置で暗号鍵の更新が行われないにもかかわらず、一方の通信装置のみが暗号鍵の更新を実行するといった不具合を回避することができる。このように、一方の通信装置は、暗号鍵の更新を要求する更新要求信号が他方の通信装置により正常に受信されたことが確認されて初めて自身の暗号鍵の更新を実行するようにしたことにより、2つの通信装置において、それぞれの暗号鍵の更新処理が確実に同期して実行される。
【0022】
請求項4に記載の発明は、請求項3に記載の暗号鍵更新システムにおいて、前記2つの通信装置の少なくとも一方は、自身の暗号鍵の更新を実行するに際して、通信相手である他方の通信装置が正規の通信相手か否かの認証を行い、当該認証が成立したときに、自身の暗号鍵の更新を実行することをその要旨とする。
【0023】
本発明によれば、少なくとも一方の通信装置の通信相手になりすました第三者との通信に基づき当該一方の通信装置で暗号鍵の更新が実行されることはない。したがって、いたずら等による暗号鍵の更新を回避することができる。
【0024】
請求項5に記載の発明は、請求項1〜請求項4のうちいずれか一項に記載の暗号鍵更新システムにおいて、前記2つの通信装置は、車両に搭載されてその各部を制御する車載機及び当該車両のユーザに所持されて前記車載機との間の相互無線通信を通じて車両の各部を遠隔制御する電子キーとして構成し、同一の車両に対して複数個の電子キーが登録されている場合には、これら電子キーと前記車載機との間で共有される前記秘密情報は、電子キー毎に異なるものとされてなることをその要旨とする。
【0025】
本発明が前提とする前述したような電子キーシステムにおいては、同一の車両に対して複数個の電子キーが登録される場合も多く想定される。この場合には、本発明によるように、これら電子キー及び車載機の間で共有される秘密情報は、電子キー毎に異なるものとすることが望ましい。すなわち、前述したように、同一の車両に複数個の電子キーが登録される場合において、各電子キー及び車載機の間で共有する秘密情報をすべて同じものとしたときには、次のような問題が懸念される。例えば各電子キーのいずれか一を紛失等したときには、防犯性能を確保する観点から、すべての電子キーの登録を抹消する等の措置を講じる必要がある。この点、本発明によるように、各電子キーと車載機との間で共有する秘密情報を電子キー毎にすべて異なるものとすれば、当該紛失等した電子キーの登録のみを抹消すればよい。これは、各電子キー間で同一の秘密情報、ひいては暗号鍵を共有しないからである。このため、同一の車両に対して複数個の電子キーが登録されている場合において、例えばそのうち一の電子キーを紛失等したときの対応作業が簡単になる。
【発明の効果】
【0026】
本発明によれば、共通鍵暗号方式で使用される暗号鍵の更新を簡単且つ安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる。
【発明を実施するための最良の形態】
【0027】
以下、本発明を車両の電子キーシステムに具体化した一実施の形態を図1〜図4に基づいて説明する。この電子キーシステムは、ユーザにより所持される電子キーと車両との間の無線通信を通じてドアの施解錠及びエンジンの始動を行うものである。
【0028】
<電子キーシステムの概要>
まず電子キーシステムの概要を説明する。図1に示すように、電子キーシステム11は、ユーザに所持される電子キー12、及び車両Carに搭載される車載機13を備えてなる。
【0029】
電子キー12の制御回路21には、LF帯の無線信号を受信するLF受信回路22、及び当該制御装置からの指令に従いRF帯の無線信号を送信するRF送信回路23が接続されている。LF受信回路22は、受信したLF信号を復調するとともに、その復調後の信号を受信データとして制御回路21に出力する。また、RF送信回路23は、制御回路21からの指令に従い、電子キーに固有の識別コードを乗せたRF帯の応答信号Srepを送信する。
【0030】
車載機13は、電子キー12との間の相互無線通信を通じて当該電子キー12の妥当性を判断する照合制御装置31を備えてなる。この照合制御装置31には、車室外へLF帯の無線信号を送信する車室外LF送信機32、車室内へLF帯の無線信号を送信する車室内LF送信機33、及びRF帯の無線信号を受信するRF受信機34が接続されている。また、照合制御装置31には、ドア錠を施解錠するべくドアロックモータMを駆動制御するドア制御装置35、ユーザによるエンジンスイッチSWの操作に応じて車両Carの電源位置を切換制御する電源制御装置36、及びエンジンEの駆動制御を行うエンジン制御装置37が、バス(多重通信線)Bを介して接続されている。
【0031】
さて、エンジンEが停止状態且つドアが施錠状態である車両Carの駐車状態において、照合制御装置31は、電子キー12に応答を要求する車室外照合用のLF帯の応答要求信号Sreqを所定の制御周期で車室外LF送信機32を通じて車室外に送信する。これにより、車両Carのドアの周辺には、電子キー12の図示しない検知領域が形成される。そして、ユーザが電子キー12を所持して車両Carに接近して前記検知領域内に入ると、電子キー12の制御回路21は、前記応答要求信号Sreqを受けて自身の記憶装置21aに格納された識別コードを含む応答信号Srepを、RF送信回路23を通じて送信する。
【0032】
照合制御装置31は、RF受信機34を通じて電子キー12からの応答信号Srepを受信すると、当該応答信号Srepに含まれる電子キー12に固有の識別コードと、自身の記憶装置31aに記憶された識別コードとを比較する車室外照合を行う。そして照合制御装置31は、この車室外照合が成立した場合には、図示しないドアハンドルノブに内蔵されたタッチセンサを起動し、当該センサを通じてユーザによるドアハンドルノブのタッチ操作を検出すると、ドア制御装置35にドアアンロック要求信号を出力する。ドア制御装置35は、照合制御装置31からのドアアンロック要求信号を受けて、ドアロックモータMを駆動して車両のドアを解錠する。
【0033】
この後、電子キー12を所持するユーザが車両に乗り込んだとき、ドア制御装置35は図示しないドアセンサを通じてこれを検出して当該検出信号を照合制御装置31へ出力する。ドア制御装置35からユーザが乗車した旨示す検出信号が入力されると、照合制御装置31は、車室内LF送信機33を通じて車室内照合用の応答要求信号Sreqを送信することにより、車室内に電子キー12の検知領域を形成する。電子キー12は、LF受信回路22を通じて車室内照合用の応答要求信号Sreqを受信すると、RF送信回路23を通じて識別コードを含む応答信号Srepを送信する。
【0034】
照合制御装置31は、RF受信機34を通じて電子キー12からの応答信号Srepを受信すると、当該応答信号Srepに含まれる電子キー12に固有の識別コードと、自身の記憶装置31aに記憶された識別コードとを比較する車室内照合を行う。そして照合制御装置31は、この車室外照合の照合結果を記憶装置31aに記憶し、当該照合結果を各種の車載システムの実行機能に応じてこれらシステムの制御装置、例えば電源制御装置36及びエンジン制御装置37へ送信する。
【0035】
すなわち、電源制御装置36は、シフトレバーが駐車位置に保持されるとともに図示しないブレーキペダルが踏み込まれた状態で、エンジンスイッチSWがオン操作された旨検出すると、照合制御装置31に対して車室内照合の照合結果を確認する。電源制御装置36は、照合制御装置31を通じて取得した車室内照合の照合結果が照合成立を示すものであった場合には、図示しないアクセサリリレー及びイグニッションリレーをオン動作させて、車両Carの各部に動作電力を供給する。
【0036】
そして、電源制御装置36は、エンジンEの始動を要求する始動要求信号を、バスBを通じてエンジン制御装置37へ出力する。エンジン制御装置37は、電源制御装置36からの始動要求信号が入力されると、照合制御装置31に対して車室内照合の照合結果を確認するとともに、互いが対を成す制御装置同士であるか否かの確認(ペアリング)を行う。エンジン制御装置37は、車室内照合及びペアリングの双方が成立している場合にのみ、エンジンEを始動させる。
【0037】
そして、ユーザが降車するべくエンジンスイッチSWの操作を通じてエンジンEを停止した後に、解錠状態のドアを開けて車室外に出て、前記ドアハンドルノブに設けられる図示しないロックスイッチをオン操作した場合には、これが照合制御装置31により検出される。すると、照合制御装置31は、車室外LF送信機32を通じて車室外照合用の検知領域を再度形成して車室外照合を行い、当該車室外照合が成立したときには、ドアロック要求信号をドア制御装置35へ出力する。ドア制御装置35は、照合制御装置31からのドアロック要求信号が入力されると、ドアロックモータMを駆動してドアを施錠する。
【0038】
<電子キー及び車載機の相互認証>
ここで、前述した電子キーシステム11においては、電子キー12と車載機13との相互認証が無線通信により行われることから、これら電子キー12と車載機13との間で送受信される情報(電子キー12に固有の識別情報等)が傍受され、この情報を使用して車両Carが不正に使用されることが特に懸念される。このため、電子キー12と車載機13との間では、これらの間で授受する情報を所定の暗号アルゴリズムにより暗号化して送受信する暗号化通信を利用した認証が行われる。本実施の形態では、認証を実施する装置間、すなわち電子キー12と車載機との間で互いに共通の暗号鍵を持ち合い、乱数データ(チャレンジコード)を暗号鍵で暗号化した結果を交換することにより認証を行う、いわゆるチャレンジ・レスポンス認証方式が採用されている。
【0039】
以下に、電子キーシステム11におけるチャレンジ・レスポンス認証方式の暗号化通信について図2に従って説明する。なお、ここでは、乗車時等に行われる車室外照合が行われるものとする。また、車載機13と電子キー12とは、同じ暗号鍵Kを持っている。
【0040】
さて、車両Carの駐車状態にあっては、車載機13は、前記応答要求信号Sreqとして、電子キー12を起動させるWAKEコードを含む起動信号Swakeを所定の制御周期で送信する。これにより、車両Carのドアの周辺には、電子キー12の検知領域が形成される。
【0041】
そして、ユーザが電子キー12を携帯して前記検知領域に入った際、当該電子キー12が車両Carからの起動信号Swakeを受信すると、当該電子キー12は、まず起動信号Swakeに含まれるWAKEコードの妥当性、すなわち、当該WAKEコードが登録された正規の信号パターンかどうかを判定する。次に、電子キー12は、前記WAKEコードが正規の信号パターンである旨判定したときには、自身の動作が安定するのを待って、正常に認識した旨の応答信号であるACK信号Sackを車両側へ返信する。
【0042】
車載機13は、電子キー12からのACK信号Sackを受信することにより、電子キー12が前記検知領域内にあると判断し、登録された自身の車両コードを含む車両識別信号Scarを発信する。
【0043】
そして、電子キー12は、車載機13からの車両識別信号Scarを受信すると、それに含まれる車両コードと自身に登録された車両コードとの照合を行う。そして、その照合が成立した場合には、電子キー12は、RF送信回路23を通じてACK信号Sackを車両側へ再び返信する。
【0044】
<チャレンジ・レスポンス認証>
車載機13は、電子キー12からのACK信号Sackを再度受信すると、電子キー12との間でチャレンジ・レスポンス認証を行う。
【0045】
<S−1>
すなわち、車載機13は、まず乱数を生成し、この乱数を電子キー12に対するチャレンジコードRaとする。そして車載機13は、このチャレンジコードRaに特定のキーコードを付加した情報を含む認証信号Schaを送信する。ここで、キーコードは、当該車載機13に予め登録された電子キー12に固有の情報である。
【0046】
<S−2>
電子キー12は、車載機13からの認証信号Schaを受信すると、これに含まれるキーコードと自身に登録されたキーコードとの照合を行う。電子キー12は、当該照合が成立した場合には、自身のキーコードが当該車両Carに登録されたコードである旨判断する。そして、電子キー12は、受信した認証信号Schaに含まれるチャレンジコードRaを自分の持つ暗号鍵Kにより暗号化する。この暗号化結果をEK(Ra)と示す。また、電子キー12は、車載機13に対するチャレンジコードRaとして乱数を生成する。そして電子キー12は、これら暗号化結果EK(Ra)及びチャレンジコードRbを含む暗号化信号Scip−keyを車載機13に送信する。
【0047】
<S−3>
車載機13では、自らが生成したチャレンジコードRaを自分の持つ暗号鍵Kで暗号化した結果と受信した暗号化信号Scip−keyに含まれる暗号結果EK(Ra)とを比較し、その値が一致すれば電子キー12が正常に認証されたと判断する。また、車載機13は、受信した暗号化信号Scip−keyに含まれるチャレンジコードRbを自分の持つ暗号鍵Kにより暗号化し、その暗号化結果を含む暗号化信号Scip−carを電子キー12に送信する。なお、チャレンジコードRbの暗号化結果をEK(Rb)と示す。
【0048】
<S−4>
電子キー12では、自らが生成したチャレンジコードRbを自分の持つ暗号鍵Kで暗号化した結果と受信した暗号化信号Scip−carに含まれる暗号結果EK(Rb)とを比較し、その値が一致すれば車載機13が正常に認証されたと判断する。
【0049】
以上で車載機13と電子キー12との間のチャレンジ・レスポンス認証は完了となる。ここで、チャレンジ・レスポンス認証においては、認証のたびに異なる乱数を生成してチャレンジコードとされることから、いわゆるリプレイアタックが抑制される。このリプレイアタックとは、前述した暗号鍵K等を傍受して、そのまま再利用することにより正規のユーザになりすます攻撃をいう。
【0050】
そして、前述したチャレンジ・レスポンス認証が完了、すなわち前記<S−4>において、電子キー12が車載機13を正常に認証した場合には、電子キー12は、前記応答信号Srepとして、自身に固有のキーコードを含む識別信号Sidを車載機13に送信する。車載機13は、電子キー12からのキーコードと自身に登録されたキーコードとの照合を行い、当該照合が成立したことをもって電子キー12との間の車室外照合が成立した旨判断する。この後、車両のドアが解錠されて、電子キー12を所持するユーザが乗車した際には、前述した車室外照合と同様にして車載機13と電子キー12との相互認証を行うべく車室内照合が行われる。ここでは、車室内照合の手順についての詳細な説明を省略する。
【0051】
<暗号鍵の更新方法>
ここで、前述したように、近年のコンピュータの性能の向上に伴い、同じ暗号鍵を継続して使用する場合には、これが第三者により傍受されてこれが解読されるおそれがあることから、適当なタイミングで暗号鍵を更新することが望ましい。また、コンピュータの普及によって暗号が広く普及しつつある現状にあっては、鍵の受け渡し自体がセキュリティ上の大きな弱点となることも既に述べた通りである。こうした問題を解決するために、本実施の形態では、次のようにして暗号鍵の生成及び更新を行うようにしている。
【0052】
なお、本実施の形態では、前述したチャレンジ・レスポンス認証方式の暗号化通信における暗号アルゴリズムとして、DES及びAESに代表される共通鍵暗号方式を採用している。また、図1に示されるように、電子キー12の記憶装置21aには、車載機13との間の相互無線通信を制御回路21に実行させるための通信制御プログラムが記憶されている。また、当該記憶装置21aには、共通鍵暗号方式を使用して車載機13へ送信する情報を暗号化する処理を制御回路21に実行させるためのデータ変換プログラム、並びに暗号鍵Kの生成処理及び更新処理を制御回路21に実行させるための暗号鍵更新プログラムが記憶されている。さらに、当該記憶装置21aには、前記データ変換プログラムが実行された際に使用される暗号鍵Kを生成するための秘密情報Kが格納されている。
【0053】
一方、図1に示されるように、車載機13の記憶装置31aには、電子キー12との間の相互無線通信を照合制御装置31に実行させるための通信制御プログラムが記憶されている。また、当該記憶装置31aには、共通鍵暗号方式を使用して電子キー12へ送信する情報を暗号化する処理を照合制御装置31に実行させるためのデータ変換プログラム、並びに暗号鍵Kの生成処理及び更新処理を照合制御装置31に実行させるための暗号鍵更新プログラムが記憶されている。さらに、当該記憶装置31aには、データ変換プログラムが実行された際に使用される暗号鍵Kを生成するための秘密情報Kが格納されている。この車載機13に記憶される秘密情報K及び暗号鍵更新プログラムは、電子キー12に記憶されているものと同じである。このため、電子キー12及び車載機13において生成される暗号鍵も同じものとなる。
【0054】
なお、前記の暗号鍵更新プログラムは、いわゆる一方向性関数(ここでは、ハッシュ関数)を利用して、前記秘密情報Kから最初の暗号鍵を生成するとともに、所定の更新タイミングで当該暗号鍵を更新するためのプログラムである。そして前記一方向性関数としては、例えばハッシュ関数が採用可能である。ここでハッシュ関数とは、不定長の入力から固定長のデータを出力するものであって、出力から入力のデータを推測できないこと、同じ出力を持つ入力データを容易に作成できないこと、同じ出力データとなる可能性が非常に低いことが要件とされているものである。このようなハッシュ関数には、SHA−1(Secure Hash Algorithm 1)、及びMD2,MD4,MD5(Message Digest2,4,5)等が知られているところ、本実施の形態では、SHA−1が採用されている。このSHA−1は、160ビットのデータをハッシュ値として出力する。
【0055】
さて、最初の暗号鍵の生成処理及びその後に行われる暗号鍵の更新処理の手順を図3に示す動作シーケンス図に従って詳細に説明する。最初の暗号鍵の生成処理及び暗号鍵の更新処理は、電子キー12及び車載機13のそれぞれに格納された暗号鍵更新プログラムに従って、電子キー12及び車載機13のそれぞれにおいて個別に実行される。
【0056】
まず、前述したように、電子キー12の記憶装置21a及び車載機13の記憶装置31aには、暗号鍵を生成する際に使用される秘密情報Kが記憶されているところ、これら記憶装置21a,31aにおける秘密情報Kの共有化は、車両の生産工場あるいは車両の販売業者等の安全な場所において、例えば次のようにして行われる。
【0057】
すなわち、当該秘密情報Kは、車載機13(正確には、照合制御装置31)に設けられた図示しない乱数生成器により生成された乱数であって、照合制御装置31は、この生成された乱数である秘密情報Kを自身の記憶装置31aに記憶する。また照合制御装置31は、車両Carと電子キー12とのペアリング、すなわち電子キー12を車両Carに登録する際の無線通信を利用して、生成された秘密情報Kを電子キー12へ送る。電子キー12は、車両Carから送られてきた秘密情報Kを自身の記憶装置21aに記憶する。このようにして、車両Carと電子キー12との間で同一の秘密情報Kの共有化が図られる。
【0058】
<第1世代の暗号鍵の生成処理>
そしてこの秘密情報Kの共有化の完了後、制御回路21及び照合制御装置31では、それぞれ当該秘密情報Kを使用して最初の暗号鍵K(以下、「第1世代の暗号鍵K」という。)の生成処理が行われる。制御回路21及び照合制御装置31は、前述した車両の生産工場あるいは販売業者等に設備される図示しない無線通信装置を通じて送信される、第1世代の暗号鍵Kの生成処理を開始する旨要求する生成指令信号を受けて、第1世代の暗号鍵Kの生成処理を開始する(ステップS101,S201)。
【0059】
すなわち、図3の動作シーケンス図に示されるように、制御回路21及び照合制御装置31は、自身の記憶装置21a,31aに記憶されている秘密情報Kを所定の回数n(nは、0でない正の整数)だけハッシュ関数により処理し、この演算結果を1世代の暗号鍵として記憶装置21a,31aに記憶する(ステップS102,S202b)。
【0060】
ここで、ハッシュ関数をH()、ハッシュ関数H()に入力されるデータをK、当該ハッシュ関数H()から出力される演算結果(ハッシュ値)をKi+1としたとき、これらの関係は次式(A)のように示される。暗号鍵Kは、秘密情報K及び次式(A)を使用して求められる。
【0061】
i+1=H(K) …(A)
ただし、iは、0≦i<nを満たす整数である。
第1世代の暗号鍵の生成について詳述すると、制御回路21及び照合制御装置31は、第1世代の暗号鍵を求める際には、まず秘密情報Kを前記式(A)で示されるハッシュ関数H()に入力する。すると、その演算結果として、K=H(K)が得られる。次に、制御回路21及び照合制御装置31は、この得られたKを再びハッシュ関数H()に入力する。すると、その演算結果として、K=H(K)が得られる。以後、制御回路21及び照合制御装置31は、これをハッシュ関数H()に対する入力回数が所定の回数nに達するまで繰り返す。これにより、制御回路21及び照合制御装置31は、K=H(Hn−1)を求め、このKを第1世代の暗号鍵として設定する。
【0062】
なお、この第1世代の暗号鍵Knの生成過程において算出される演算結果、すなわちハッシュ関数H()に対する入力回数が1回目からn−1回目までの間に算出される演算結果K〜Kn−1は破棄される。また、第1世代の暗号鍵Kを生成する際において、ハッシュ関数に入力される回数nは、システム(ここでは、車両Car)のライフサイクルを考慮して設定される値であって、当該ライフサイクル中において安全性が十分に確保されると予め想定された暗号鍵の更新回数の最大値である。例えば、車両Carのライフサイクル中に、10回暗号鍵を更新すれば安全性が十分に確保されるとしたときには、n=10とされる。ちなみに、ライフサイクルとは、製品が開発されてから処分されるまでの一連の過程をいい、例えば車両の場合には、これが製造されてから廃車されるまでの期間のサイクルをいう。
【0063】
そしてこのように、制御回路21及び照合制御装置31の間で第1世代の暗号鍵Kが共有された状態で、車両Carはユーザに引き渡される。車両Carの使用に際して、電子キー12と車両Carとの間で前述したチャレンジ・レスポンス認証が行われるときには、電子キー12及び車両Carの間で共有される第1世代の暗号鍵Kが使用される。第1世代の暗号鍵Kが生成された後、制御回路21及び照合制御装置31は、所定の制御周期で以下に示される暗号鍵の更新処理を実行する。
【0064】
<暗号鍵の更新処理>
車載機13は、第1世代の暗号鍵Kが設定された後、当該暗号鍵Kの更新時機が到来したか否かを判断する(ステップS103)。
【0065】
当該判定は、次のようにして行われる。例えば車載機13は、図示しないタイマを通じて第1世代の暗号鍵Kが生成されて照合制御装置31の記憶装置31aに記憶されてからの経過時間を計測し、この計測された時間が定められた更新時機判定時間に達したか否かにより暗号鍵Kの更新時機が到来したか否かを判断する。また、暗号鍵Kの更新時機の到来の有無は、次のようにして判断するようにしてもよい。すなわち、車載機13は、第1世代の暗号鍵Kが生成された後に、電子キー12との間で実行された前述のチャレンジ・レスポンス認証による電子キー12の認証回数を図示しないカウンタを通じて計測し、この計測された認証回数が定められた更新時機判定回数に達したか否かにより暗号鍵Kの更新時機が到来したか否かを判断する。
【0066】
そして、車載機13は、暗号鍵Kの更新時機が到来していない旨判断した場合(ステップS103でNO)には、この暗号鍵Kの更新処理を終了する。一方、車載機13は、暗号鍵Kの更新時機が到来した旨判断した場合(ステップS103でYES)には、自身の持つ暗号鍵Kの更新を保留した上で、次のステップS104へ処理を移行する。
【0067】
このステップS104では、車載機13は電子キー12が車両Carの近傍に存在するか否かを判断する。ここでは、車載機13は、電子キー12の車室内における存在の有無、具体的には車両Carが走行中であるか否かの判断に基づき、電子キー12が車両Carの近傍に存在するか否かを判断する。したがって、当該ステップ104において、車載機13は、図示しない車速センサを通じてそのときの車両Carの走行速度を検出し、この検出された走行速度が定められた速度(例えば、時速20km)に達していない旨判断したときには、暗号鍵の更新処理を終了する。一方、ステップS104において、車載機13は、車両Carの走行速度が定められた速度に達している旨判断したときには、車両Carは走行中であって、かつ電子キー12は確実に車室内に存在するとして、処理をステップS105へ移行する。
【0068】
そしてこのステップS105では、車載機13は、暗号鍵Kの更新を要求する旨示す更新要求信号Srenを電子キー12へ送信する。この更新要求信号Srenは、車載機13において生成された乱数情報であるチャレンジコードRa、当該チャレンジコードRaを自身の有する暗号鍵、ここでは第1世代の暗号鍵Kにより暗号化した結果の情報であるレスポンスコードEK(Ra)及び電子キー12に対して暗号鍵の更新を要求する旨示す更新要求コードを含んでなる。
【0069】
ここで、前述したように、車両Carのエンジンの始動は、車室内において電子キー12と車載機13との間で相互認証が成立した場合にのみ許可されることから、車両Carが走行中であれば、電子キー12は必ず車室内に存在するということができる。そして、この状態で、更新要求信号Srenを送信すれば、これが電子キー12に受信される蓋然性は非常に高い。このため、車載機13は、前述のステップS103において、暗号鍵Kの更新時機が到来した旨判断した場合であっても、電子キー12が車室内に存在する旨確認されるまで、更新要求信号の送信を保留する。
【0070】
なお、前記ステップS104の判断は、次のように変更することも可能である。すなわち、車載機13は、暗号鍵Kの更新時機が到来した旨判断した場合に、前述した車室外照合あるいは車室内照合が成立したことともって、電子キー12が車両の近傍に存在する旨判断する。このようにしても、電子キー12が車両の近傍に存在するか否かの判断がなされた上で、更新要求信号Srenが送信されることから、当該信号は確実に電子キー12に受信される。
【0071】
また、暗号鍵の更新時機が到来した旨判断された場合に、電子キー12の存在の有無を判断することなく、更新要求信号Srenを車室外あるいは車室内に送信することも可能ではある。この場合、電子キー12が車室外における車両Carの近傍、あるいは車室内に存在すれば、当該電子キー12は車載機13からの更新要求信号Srenを受信する。しかし、電子キー12が車室外における車両Carの近傍、あるいは車室内に存在しなければ、当該電子キー12は車載機13からの更新要求信号Srenを受信することはない。この場合には、車載機13は例えば更新要求信号Srenの送信を所定の回数だけ繰り返す等、何らかの対策を講じる必要がある。
【0072】
さて、電子キー12は、車載機13からの更新要求信号Srenを受信すると、当該信号の妥当性、すなわち、当該信号が自身に対応する正規の車載機13からのものであるか否かを判断する(ステップS203)。すなわち、電子キー12は、受信した更新要求信号Srenに含まれるチャレンジコードRaを自身の有する暗号鍵、ここでは第1世代の暗号鍵Kを使用して暗号化し、この暗号化した結果を、同じく更新要求信号Srenに含まれるレスポンスコードEK(Ra)と照合する。電子キー12は、当該照合が成立しない場合(ステップS203でNO)には、受信した更新要求信号Srenが自身に対応する正規の車載機13からのものではないおそれがあるとして、当該暗号鍵の更新処理を終了する。
【0073】
一方、電子キー12は、当該照合が成立した場合(ステップS203でYES)には、次のような処理を行う。すなわち、電子キー12は、受信した更新要求信号Srenが自身に対応する正規の車載機13からのものであると判断し、更新要求信号Srenを正常に受信した旨示す応答信号として当該更新要求信号Srenに含まれるチャレンジコードRaを自身の有する暗号鍵Kを使用して暗号化した結果であるレスポンスコードEK(Ra)を含むレスポンス信号Sresを車載機13へ送信する。そして電子キー12は、この後、暗号鍵Kの更新処理を実行する(ステップS204)。
【0074】
車載機13では、受信したレスポンス信号Sresの妥当性、すなわち、当該信号が自身に対応する正規の電子キー12からのものであるか否かを判断する(ステップS106)。すなわち、車載機13は、自らが生成したチャレンジコードRaを自分の持つ暗号鍵Kで暗号化した結果と、受信したレスポンス信号Sresに含まれるレスポンスコードEK(Ra)とを比較する。そして車載機13は、それらの値が一致しなければ、受信したレスポンス信号Sresは自身に対応した電子キー12からのものではないおそれがあるとして、当該暗号鍵の更新処理を終了する(ステップS106でNO)。一方、車載機13は、それら値が一致すれば車載機13は当該レスポンス信号Sresを送信してきた電子キー12は自身に対応する正規のものである旨判断する(ステップS106でYES)。そして車載機13は、保留していた自身の暗号鍵Kの更新処理を実行する(ステップS107)。
【0075】
ここで、例えば正規の車載機13になりすました第三者により更新要求信号が不正に送信されることも想定されるところ、電子キー12では、前述したように、更新要求信号Srenを送ってきた相手が正規の通信相手である旨の認証が成立してはじめて暗号鍵の更新が実行される。このため、電子キー12において、第三者により不正に送信される更新要求信号に基づき暗号鍵の更新が実行されることはなく、安全性が確保される。また、同様に正規の電子キー12になりすました第三者により更新要求信号を正常に受信した旨示す応答が返信されることも想定されるところ、車載機13側においても当該応答してきた相手が正規の通信相手である旨の認証が成立してはじめて暗号鍵の更新が実行される。このため、車載機13において、第三者により不正に送信される更新要求信号Srenに対する応答に基づき暗号鍵の更新が実行されることはない。ただし、本実施の形態では、暗号鍵の更新処理は、前述したように、車両Carが走行中であることを前提として実行されることから、当該暗号鍵の更新処理を実行する際においては既に電子キー12及び車載機13の相互認証がなされている。このため、暗号鍵の更新時において、車載機13側での電子キー12の認証処理を省略するようにしてもよい。この場合には、電子キー12は、更新要求信号Srenを正常に受信した旨の応答を車載機13に返信する。これに対し、電子キー12側での車載機13の認証については実行することが望ましい。これは、電子キー12はユーザに所持されるものであることから、車両Carとは別の場所において前述したなりすましの問題が発生するおそれがあるからである。
【0076】
さて、電子キー12及び車載機13において、第1世代の暗号鍵Kの更新は次のようにして行われる。すなわち、ステップS107及びステップS204において、制御回路21及び照合制御装置31は、まず秘密情報Kを前記式(A)で示されるハッシュ関数H()に入力することにより、K=H(K)を求め、次に当該Kを再びハッシュ関数H()に入力する。以後、制御回路21及び照合制御装置31は、ハッシュ関数H()に対する入力回数が前記所定の回数nよりも1回だけ少ないn−1回に達するまで当該ハッシュ関数H()に対する入力を繰り返す。この繰り返し処理により、制御回路21及び照合制御装置31は、Kn−1=H(Hn−2)を求め、このKn−1を第2世代の暗号鍵として設定する。
【0077】
なお、今まで使用していた第1世代の暗号鍵K、及び第2世代の暗号鍵Kn−1の生成過程において算出される演算結果、すなわちハッシュ関数H()に対する入力回数が1回目からn−2回目までの間に算出される演算結果K〜Kn−2は破棄される。
【0078】
以上で、暗号鍵の更新処理は完了となる。この後、電子キー12及び車載機13は、更新時機が到来する毎に、前述と同様にして暗号鍵の更新を行う。この際には、電子キー12及び車載機13は、暗号鍵の更新を実行する毎に、ハッシュ関数H()に対する繰り返し入力回数を、n−2回→n−3回→・・・→2回→1回のように、前回の更新時よりも1回だけ減らしていく。すなわち、図4に示されるように、電子キー12及び車載機13は、暗号鍵の更新時機が到来する毎に、K(第1世代の暗号鍵)→Kn−1(第2世代の暗号鍵)→…→K(第n−2世代の暗号鍵)→K(第n−1世代の暗号鍵)→K(第n世代の暗号鍵)の順に暗号鍵を変更する。なお、電子キー12及び車載機13は、それぞれ自身の暗号鍵の更新回数を記憶装置21a,31aに履歴として記憶している。これにより、電子キー12及び車載機13では、前述のようなハッシュ関数H()に対する繰り返し入力回数の制御が可能となる。
【0079】
このような暗号鍵の更新方法によれば、仮に通信の傍受・解析により、ある時点での暗号鍵が破られた場合でも、更新後の新たな暗号鍵、すなわち次世代の暗号鍵を知ることは困難である。これは、ハッシュ関数の一方向性を破ることは一般に困難であるとされているからである。なお、ハッシュ関数の一方向性とは、出力が分かっても入力を知ることは困難である性質をいう。本実施の形態で言えば、例えば第1世代の暗号鍵Kが傍受・解析されたとしても、当該暗号鍵Kから第2世代の暗号鍵Kn−1を求めることはできないことをいう。第1世代の暗号鍵Kは、第2世代の暗号鍵Kn−1をさらにハッシュ関数H()に入力した結果(出力)であることから、この出力である第1世代の暗号鍵Kから、入力である第2世代の暗号鍵Kn−1を求めることはできない。このため、本実施の形態では、このようなハッシュ関数の一方向性を利用して暗号鍵の更新を行うことにより、暗号鍵の盗聴あるいは解析等に対する防犯性能が確保される。
【0080】
ちなみに、暗号鍵の更新を行う毎に、ハッシュ関数H()に対する繰り返し入力回数を前回の更新時よりも1回だけ増やしていくといった手法の採用も考えられる。しかし、この場合、ある時点での暗号鍵が傍受・解析等されたときには、当該暗号鍵を使用して次世代の暗号鍵を求めることが可能となる。これは、前述したハッシュ関数を含めて、暗号化のアルゴリズム自体は一般に公開されるからである。例えば第3世代の暗号鍵Kn−2が分かれば、第4世代、第5世代…第n世代の暗号鍵を求めることができる。このため、本実施の形態では、暗号の安全性を確保するという観点から、暗号鍵の更新を行う毎に、ハッシュ関数H()に対する繰り返し入力回数を前回の更新時よりも1回だけ減らしていくといった手法を採用している。また、本実施の形態の暗号鍵の更新方法によれば、当該更新に必要な情報として、前記秘密情報Kのみを電子キー12及び車載機13の間で共有しておけばよいことから、これらの記憶装置21a,31aの容量を大きく消費することもない。
【0081】
<実施の形態の効果>
従って、本実施の形態によれば、以下の効果を得ることができる。
(1)共通鍵暗号方式による暗号化通信を行う電子キー12及び車載機13間で共有する暗号鍵を生成するために使用される特定の秘密情報Kをこれらの間で予め共有させた。そして、電子キー12及び車載機13は、それぞれ同一の一方向性関数であるハッシュ関数H()に対する秘密情報Kの入力を含め当該関数による演算結果を当該関数に対して、定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵Kとして設定するようにした。また、電子キー12及び車載機13は、当該暗号鍵Kの更新に際しては、ハッシュ関数H()に対する秘密情報Kの入力を含め当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも一少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定するようにした。
【0082】
すなわち、最初の暗号鍵Kを生成する際のハッシュ関数H()に対する繰り返し入力回数をn(nは、0でない正の整数)回とした場合に、例えば最初の暗号鍵Kを更新するときには、ハッシュ関数H()に対する秘密情報Kの入力を含め当該関数による演算結果を当該関数に対してn−1回だけ繰り返し入力して得られる結果が新たな暗号鍵として使用される。以後、暗号鍵を更新する度に、n−2回→n−3回→…→2回→1回のように、ハッシュ関数H()に対する繰り返し入力回数が一ずつ減らされる。そしてその演算結果が新たな暗号鍵として使用される。
【0083】
暗号鍵は電子キー12及び車載機13で各々生成されることから、これらの間で通信を行うことなく暗号鍵の生成、ひいては更新を行うことができる。このため、通信相手同士間の通信を利用して暗号鍵の更新を行う従来の暗号鍵の更新方法と異なり、暗号鍵の受け渡しを行わないことから、暗号鍵の更新時における暗号鍵の傍受あるいは解析等に対するリスクが回避される。
【0084】
また、一方向性関数であるハッシュ関数の性質、すなわち出力が分かっても入力を知ることが困難であるという性質を利用して暗号鍵の更新が行われる。すなわち、暗号鍵を更新する毎に、ハッシュ関数への繰り返し入力回数を一ずつ減らすようにしていることから、例え過去に使用していた暗号鍵が第三者に所得されたとしても、一方向性関数の性質上、当該過去の暗号鍵から新たな暗号鍵を導き出すことは困難である。このため、暗号の解読等に対する防犯性能を確保することができる。
【0085】
さらに、電子キー12及び車載機13の間で共有する暗号鍵の更新に必要とされる情報は、秘密情報Kだけであることから、電子キー12及び車載機13の記憶容量を大きく消費することはない。
【0086】
(2)電子キー12及び車載機13は、それぞれの暗号鍵を生成する際に、ハッシュ関数H()に対する秘密情報Kの入力を含めて当該関数による演算結果を当該関数に対して繰り返し入力する過程で得られる演算結果を破棄するようにした。
【0087】
例えば最初の暗号鍵Kを生成する際には、ハッシュ関数への入力を繰り返す過程において次のような演算結果が得られる。すなわち、ハッシュ関数H()からは、秘密情報Kをハッシュ関数に入力して得られる1回目の演算結果、同じく当該1回目の演算結果を入力して得られる2回目の演算結果、…、同じくn−2回目の演算結果を入力して得られるn−1回目の演算結果が出力される。これら演算結果は、それぞれ次回以降の新たな暗号鍵として使用されることから、これらを残しておくことは暗号の安全性を確保する観点から好ましくない。この点、前述したように、暗号鍵を生成する際に、ハッシュ関数への入力を繰り返す過程で得られる演算結果を破棄することにより、暗号鍵の傍受・解析に起因する暗号解読等に対する防犯性が高められる。
【0088】
(3)車載機13の照合制御装置31には、暗号鍵の更新を行う時機として定められた更新時機が到来したか否かの判定を行う判定手段としての機能を備えて構成した。そしてこの照合制御装置31により暗号鍵の更新を行う時機が到来した旨判定されたとき、車載機13は、自身の暗号鍵の更新を保留した状態で通信相手である電子キー12へ暗号鍵の更新を実行する旨要求する更新要求信号Srenを送信するようにした。電子キー12は、当該更新要求信号Srenを正常に受信したときにはその旨示す応答信号であるレスポンス信号Sresを車載機13へ送信するとともに自身の暗号鍵の更新を実行するようにした。自身の暗号鍵の更新を保留している車載機13は電子キー12からのレスポンス信号Sresの受信を待って自身の暗号鍵の更新を実行するようにした。
【0089】
車載機13から送信される更新要求信号Srenが何らかの理由により電子キー12に正常に受信されない場合が想定されるところ、この場合には、電子キー12では暗号鍵の更新は行われない。またこの場合には当該電子キー12からの応答がないことから、車載機13でも暗号鍵の更新は行われない。すなわち、電子キー12で暗号鍵の更新が行われないにもかかわらず、車載機13のみが暗号鍵の更新を実行するといった不具合を回避することができる。このように、車載機13は、暗号鍵の更新を要求する更新要求信号Srenが電子キー12により正常に受信されたことが確認されて初めて自身の暗号鍵の更新を実行するようにしたことにより、電子キー12及び車載機13において、それぞれの暗号鍵の更新処理が確実に同期して実行される。
【0090】
(4)電子キー12及び車載機13は、自身の暗号鍵の更新を実行するに際して、通信相手となる車載機13及び電子キー12が正規の通信相手か否かの認証を行い、当該認証が成立したときに、自身の暗号鍵の更新を実行するようにした。
【0091】
このため、正規の電子キー12あるいは車載機13になりすました第三者との通信に基づき当該車載機13あるいは電子キー12で暗号鍵の更新が実行されることはない。したがって、いたずら等による暗号鍵の更新を回避することができる。
【0092】
<他の実施の形態>
なお、本実施の形態は、次のように変更して実施してもよい。
・本実施の形態に示されるような電子キーシステムにおいては、同一の車両に対して複数個の電子キーが登録される場合も多く想定される。この場合には、これら電子キー及び車載機13の間で共有される秘密情報Kは、電子キー毎に異なるものとすることが望ましい。すなわち、前述したように、同一の車両に複数個の電子キーが登録される場合において、各電子キー及び車載機13の間で共有する秘密情報Kをすべて同じものとしたときには、次のような問題が懸念される。例えば各電子キーのいずれか一を紛失等したときには、防犯性能を確保する観点から、すべての電子キーの登録を抹消する等の措置を講じる必要がある。この点、前述したように、各電子キーと車載機13との間で共有する秘密情報Kを電子キー毎にすべて異なるものとすれば、当該紛失等した電子キーの登録のみを抹消すればよい。これは、各電子キー間で同一の秘密情報K、ひいては暗号鍵を共有しないからである。このため、同一の車両に対して複数個の電子キーが登録されている場合において、例えばそのうち一の電子キーを紛失等したときの対応作業が簡単になる。
【0093】
・本実施の形態では、車載機13側で暗号鍵の更新時機の到来の有無を監視し、更新時機が到来した旨判断した場合には、車載機13から電子キー12へ更新要求信号Srenを送信するようにしたが、これを電子キー12側で行うようにしてもよい。すなわち、電子キー12側で暗号鍵の更新時機の到来の有無を監視し、更新時機が到来した旨判断した場合には、電子キー12から車載機13へ更新要求信号Srenを送信する。
【0094】
・本実施の形態では、電子キー12及び車載機13の間の相互認証の方式として、暗号化のみ必要とされるチャレンジ・レスポンス認証方式を採用したが、通信相手同士で同一の暗号鍵を共有して暗号化あるいは復号化を行う共通鍵暗号方式を利用するものであれば、どのような認証方式を採用してもよい。
【0095】
・本実施の形態では、車載機13及び電子キー12のそれぞれにおいて暗号鍵の更新を実行する際に、これら間で相互認証を行うようにしたが、これを省略するようにしてもよい。この場合、電子キー12及び車載機13での処理は、例えば次のようなものになる。すなわち、電子キー12は、車載機13からの更新要求信号Srenを正常に受信すると、その旨示す応答信号を車載機13へ送信するとともに、自身の暗号鍵の更新を実行する。車載機13側では、送信した更新要求信号Srenに対する電子キー12からの応答信号を受信すると、更新要求信号Srenが電子キー12に正常に受信された旨認識し、自身の暗号鍵の更新を実行する。
【0096】
・本実施の形態では、車載機13は、更新要求信号Srenに対する電子キー12からの応答を待って自身の暗号鍵の更新処理を実行するようにしたが、次のようにしてもよい。すなわち、車載機13は、車両が走行中である旨判断したときに、更新要求信号Srenを送信するとともに、当該信号に対する電子キー12からの応答を待つことなく自身の暗号鍵の更新処理を実行する。前述したように、車載機13は、車両が走行中であるか否か、すなわち電子キー12が車両の近傍に存在することを確認した上で更新要求信号Srenを送信することから、当該信号が電子キー12に受信される蓋然性は高い。したがって、車載機13は、更新要求信号Srenに対する電子キー12からの応答を待たずに自身の暗号鍵の更新を実行したとしても、何ら問題はない。車載機13及び電子キー12における暗号鍵の更新は同期して実行される。
【0097】
・本実施の形態では、車載機13は、暗号鍵の更新時機が到来した旨判断した場合、車両が走行中であることを条件として、更新要求信号Srenを電子キー12へ送信するようにしたが、車両が走行中であるか否かにかかわらず、更新要求信号Srenを送信するようにしてもよい。このようにした場合であれ、送信した更新要求信号Srenに対する電子キー12からの応答の有無により、電子キー12が車両の近傍に存在するか否かの判断が可能となる。すなわち、車載機13は、送信した更新要求信号Srenに対する電子キー12からの応答があった場合には自身の暗号鍵の更新を実行し、当該応答がない場合には電子キーが車両の近傍にないとして自身の暗号鍵の更新を実行することなく、前回の暗号鍵の使用を継続する。
【0098】
・また、本実施の形態において、例えば電子キー12及び車載機13の間において、前述した車室外照合あるいは車室内照合が成立したことをもって、またはエンジン等の車両の走行用駆動源の始動が検出されたことをもって、電子キー12が車両の近傍に存在する旨判断することも可能である。
【0099】
・本実施の形態では、車載機13は、暗号鍵の更新時機が到来した旨判断したときには、電子キー12に対して暗号鍵の更新を要求する更新要求信号Srenを送信するようにしたが、当該信号の送信を省略するようにしてもよい。この場合、例えば電子キー12及び車載機13の各々で暗号鍵の更新時機の到来を監視する。例えば暗号鍵の更新時機を前回の更新がなされてからの経過時間として設定し、当該経過時間を車載機13及び電子キー12のそれぞれに設けられるタイマにより計測する。また、時刻情報を含むいわゆる標準電波等に基づき、電子キー12及び車載機13に各々同期して暗号鍵の更新を実行させることも可能である。
【0100】
・本実施の形態では、相互無線通信を行う2つの通信装置、すなわち電子キー12及び車載機13における暗号鍵の更新を一例に挙げたが、例えば通信バス等により相互に接続される複数の電子制御装置、あるいは通信ケーブル等により相互に接続される複数のコンピュータからなる有線通信システムに本発明を適用することも可能である。
【0101】
ここで、本実施の形態では、車載機13は、暗号鍵の更新時機が到来した旨判断した場合、車両が走行中であることを条件として、更新要求信号Srenを電子キー12へ送信するとともに、当該信号を正常に受信した旨示す電子キー12からの応答を待って自身の暗号鍵の更新を実行するようにした。これは、電子キー12はユーザに所持されるものであるがゆえに採用される構成である。しかし、通信相手同士が有線で相互に接続されてなる前述のような通信システムにおいては、次のような構成を採用することもできる。すなわち、一の通信装置(電子制御装置あるいはコンピュータ)は、暗号鍵の更新時機が到来した旨判定した場合には、自身の暗号鍵の更新処理を実行するとともに通信相手である他の通信装置(電子制御装置あるいはコンピュータ)へ更新要求信号を送信し、当該他の通信装置は、当該更新要求信号を受けて自身の暗号鍵の更新を実行する。
【0102】
・本実施の形態では、暗号鍵の更新に際しては、一方向性関数(ハッシュ関数)に対する秘密情報Kの入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも一少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定するようにしたが、次のようにしてもよい。例えば暗号鍵を更新する際の一方向性関数に対する繰り返し入力回数は、前回の暗号鍵の生成時よりも2あるいは3あるいはそれ以上の数(ただし、n未満)だけ少ない回数とする。すなわち、暗号鍵を更新する際の一方向性関数に対する繰り返し入力回数は、前回の暗号鍵の生成時よりも少ない回数であればよい。このようにした場合であれ、過去に使用していた暗号鍵が例え第三者に所得されたとしても、一方向性関数の性質上、当該過去の暗号鍵から新たな暗号鍵を導き出すことが困難であることに変わりはない。このため、暗号の解読等に対する防犯性能を確保することができる。
【0103】
<他の技術的思想>
次に、前記実施の形態より把握できる技術的思想について以下に記載する。
・同一の暗号鍵を使用してデータの暗号化及び復号化を行う共通鍵暗号方式を利用した暗号化通信を行う2つの通信装置間で共有する暗号鍵を更新する暗号鍵更新方法において、
前記2つの通信装置間で共有する暗号鍵を生成するために使用される特定の秘密情報をこれら通信装置間で予め共有させた上で、これら通信装置はそれぞれ同一の一方向性関数に対する前記秘密情報の入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵として設定するとともに、当該暗号鍵の更新に際しては、前記一方向性関数に対する前記秘密情報の入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定する暗号鍵更新方法。
【0104】
この暗号鍵更新方法によれば、共通鍵暗号方式で使用される暗号鍵の更新を簡単且つ安全に行うとともに、通信相手同士で共有される暗号鍵の更新に必要とされる情報の量を低減することができる。
【図面の簡単な説明】
【0105】
【図1】電子キーシステムの概略構成を示すブロック図。
【図2】電子キー及び車載機の間の相互認証手順を示す動作シーケンス図。
【図3】暗号鍵の生成及び更新の手順を示す動作シーケンス図。
【図4】新たな暗号鍵とハッシュ関数への入力回数との関係を示すブロック図。
【図5】従来の暗号鍵の更新手順の概略を示すブロック図。
【符号の説明】
【0106】
11…電子キーシステム(暗号鍵更新システム、)、12…電子キー(通信装置)、13…車載機(通信装置)、31…照合制御装置(判定手段)、H()…ハッシュ関数(一方向性関数)、K…暗号鍵、K…秘密情報、Sren…更新要求信号、Sres…レスポンス信号(応答信号)。

【特許請求の範囲】
【請求項1】
同一の暗号鍵を使用してデータの暗号化を行う共通鍵暗号方式を利用した暗号化通信を行う2つの通信装置間で共有する暗号鍵を更新する暗号鍵更新システムにおいて、
前記2つの通信装置間で共有する暗号鍵を生成するために使用される特定の秘密情報をこれら通信装置間で予め共有させた上で、これら通信装置はそれぞれ同一の一方向性関数に対する前記秘密情報の入力を含め当該関数による演算結果を当該関数に対して定められた回数だけ繰り返し入力して得られる演算結果を最初の暗号鍵として設定するとともに、当該暗号鍵の更新に際しては、前記一方向性関数に対する前記秘密情報の入力を含めて当該関数による演算結果を当該関数に対して前回の暗号鍵の生成時よりも少ない回数だけ繰り返し入力して得られる演算結果を新たな暗号鍵として設定する暗号鍵更新システム。
【請求項2】
請求項1に記載の暗号鍵更新システムにおいて、
前記2つの通信装置は、それぞれの暗号鍵を生成する際に、前記一方向性関数に対する前記秘密情報の入力を含めてその演算結果を当該一方向性関数に繰り返し入力する過程で得られる演算結果を破棄する暗号鍵更新システム。
【請求項3】
請求項1又は請求項2に記載の暗号鍵更新システムにおいて、
前記2つの通信装置のいずれか一方には、暗号鍵の更新を行う時機として定められた更新時機が到来したか否かの判定を行う判定手段を備え、当該判定手段により暗号鍵の更新を行う時機が到来した旨判定されたとき、当該一方の通信装置は、自身の暗号鍵の更新を保留した状態で他方の通信装置へ暗号鍵の更新を実行する旨要求する更新要求信号を送信し、当該他方の通信装置は、前記一方の通信装置からの更新要求信号を正常に受信したときにはその旨示す応答信号を前記一方の通信装置へ送信するとともに自身の暗号鍵の更新を実行し、自身の暗号鍵の更新を保留している前記一方の通信装置は前記他方の通信装置からの前記応答信号の受信を待って自身の暗号鍵の更新を実行する暗号鍵更新システム。
【請求項4】
請求項3に記載の暗号鍵更新システムにおいて、
前記2つの通信装置の少なくとも一方は、自身の暗号鍵の更新を実行するに際して、通信相手である他方の通信装置が正規の通信相手か否かの認証を行い、当該認証が成立したときに、自身の暗号鍵の更新を実行する暗号鍵更新システム。
【請求項5】
請求項1〜請求項4のうちいずれか一項に記載の暗号鍵更新システムにおいて、
前記2つの通信装置は、車両に搭載されてその各部を制御する車載機及び当該車両のユーザに所持されて前記車載機との間の相互無線通信を通じて車両の各部を遠隔制御する電子キーとして構成し、
同一の車両に対して複数個の電子キーが登録されている場合には、これら電子キーと前記車載機との間で共有される前記秘密情報は、電子キー毎に異なるものとされてなる暗号鍵更新システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate