(57)【要約】  【課題】車両盗難に対するセキュリティ性を向上させる。    【解決手段】イモビライザ１２は、ＥＣＵ１３から受信する２つの乱数を入力値として所定の関数を演算し、該演算結果を応答信号としてＥＣＵ１３に返信する一方、ＥＣＵ１３では応答信号に基づいて所定の認証作業を行いエンジン１４の始動を許可するものであって、エンジン動作中に第１乱数ＰをＥＣＵ１３からイモビライザ１２に予め送信しておくと共に該送信後に第１乱数ＰをＥＣＵ１３から削除する予備処理を行い、次いで、エンジン停止中に、ＥＣＵ１３はイグニッションキー１１の認証信号をイモビライザ１２から受信すると、第２乱数Ｒを要求信号としてイモビライザ１２に送信する一方、モビライザ１２では、該第２乱数Ｒおよび予め受信していた第１乱数Ｐを入力値として関数を演算し、該演算結果を応答信号としてＥＣＵ１３に送信する。  【選択図】図２
2006088959.tif 000002
【特許請求の範囲】
【請求項１】
車両の走行駆動手段を制御するＥＣＵに接続されるイモビライザでイグニッションキーの認証を行うと共に、該イモビライザと前記ＥＣＵとの間で所定の認証作業を行うことで前記走行駆動手段の始動を制御して車両盗難を防止するシステムにおいて、
前記イモビライザは、前記ＥＣＵから受信する２つ以上の乱数を入力値として所定の関数を演算し、該演算結果を応答信号として前記ＥＣＵに返信する一方、前記ＥＣＵでは該応答信号に基づいて所定の認証作業を行い、認証が確認された場合に前記走行駆動手段の始動を許可する構成としていることを特徴とする車両盗難防止システム。
【請求項２】
前記関数は毎回の認証作業ごとに変更される構成としている請求項１に記載の車両盗難防止システム。
【請求項３】
前記走行駆動手段の動作中に、前記２つ以上の乱数のうち一部の乱数を前記イモビライザに予め送信しておくと共に、該送信後に送信済みの乱数を前記ＥＣＵから削除する処理を行い、
前記走行駆動手段の停止中に、前記イグニッションキーを正しく認証した認証信号が前記イモビライザから前記ＥＣＵに送信されると、前記ＥＣＵは前記２つ以上の乱数のうち未送信である乱数を要求信号として前記イモビライザに送信する一方、前記イモビライザでは、前記要求信号に含まれる乱数および前記走行駆動手段の動作中に予め受信していた乱数を入力値として前記関数を演算し、その演算結果を応答信号として前記ＥＣＵに送信する構成としている請求項１または請求項２に記載の車両盗難防止システム。
【請求項４】
前記走行駆動手段の動作中に前記ＥＣＵから前記イモビライザに送信される乱数をＰ、前記走行駆動手段の停止中に前記ＥＣＵから前記イモビライザに送信される乱数をＲ、一方向性ハッシュ関数をＨ（ｘ，ｙ）、ｘ，ｙを変数、ｎを自然数とすると、
前記ＥＣＵでは、前記走行駆動手段の動作中に、乱数Ｐおよび乱数Ｒを初期入力値として、前記一方向性ハッシュ関数Ｈの繰り返し演算である
Ｈ１＝Ｈ（Ｐ，Ｒ）
Ｈ２＝Ｈ（Ｈ１，Ｒ）
・
・
Ｈｎ＝Ｈ（Ｈｎ−１，Ｒ）
を演算して、Ｈｎを第１関数値として保存しておくと共に乱数ＰおよびＨ１〜Ｈｎ−１を削除し、次いで、
前記イモビライザでは、前記走行駆動手段の停止中に、前記要求信号として受信した乱数Ｒと前記予め受信していた乱数Ｐとを初期入力値として、前記一方向性ハッシュ関数Ｈの繰り返し演算である
Ｈ１＝Ｈ（Ｐ，Ｒ）
Ｈ２＝Ｈ（Ｈ１，Ｒ）
・
・
Ｈｍ＝Ｈ（Ｈｍ−１，Ｒ）
を前記関数として演算し（ｍは自然数、ｍ＜ｎ）、第２関数値Ｈｍを前記応答信号として前記ＥＣＵに返信し、
前記ＥＣＵでは、認証作業として、前記受信した第２関数値Ｈｍと前記乱数Ｒとを入力値として前記一方向性ハッシュ関数ＨによりＨｎの値を演算し、この演算結果を前記第１関数値Ｈｎと照合して一致した場合に前記走行駆動手段の始動許可を行う構成としている請求項３に記載の車両盗難防止システム。
【請求項５】
認証作業毎に変換回数ｎおよびｍの値を変更するように設定している請求項４に記載の車両盗難防止システム。
【請求項６】
請求項１乃至請求項５のいずれか１項に記載のシステムに用いられるもので、イグニッションキーを認証するイモビライザに接続されると共に車両に搭載された走行駆動手段を制御するＥＣＵであって、
２つ以上の乱数を生成する乱数発生部と、前記イモビライザからイグニッションキーの認証信号を受信すると前記乱数発生部で生成された乱数を要求信号として前記イモビライザに送信する要求信号送信部と、前記イモビライザからの応答信号に基づいて認証作業を行い該認証が確認された場合に前記走行駆動手段の始動を許可する照合部とを備えていることを特徴とするＥＣＵ。
【請求項７】
前記走行駆動手段の動作中に少なくとも１つの乱数を前記イモビライザに送信する乱数送信部と、該送信後に送信済みの乱数を前記ＥＣＵから削除する削除指令部と、前記走行駆動手段の動作中に送信されない乱数を保存する第２乱数保存部とを備え、
前記要求信号送信部は、前記イモビライザからイグニッションキーの認証信号を受信すると前記第２乱数保存部に保存された乱数を要求信号として前記イモビライザに送信する構成としている請求項６に記載のＥＣＵ。
【請求項８】
請求項１乃至請求項５のいずれか１項に記載のシステムに用いられるもので、車両の走行駆動手段を制御するＥＣＵに接続されると共にイグニッションキーの認証を行うイモビライザであって、
前記イグニッションキーの暗証コードが正しく認証された場合に認証信号を前記ＥＣＵに送信する暗証コード認証部と、前記ＥＣＵから受信する２つ以上の乱数に基づいて所定の関数を演算しその演算結果を応答信号として前記ＥＣＵに送信する応答信号送信部とを備えていることを特徴とするイモビライザ。
【請求項９】
前記走行駆動手段の動作中に前記ＥＣＵから受信する乱数を予め保存する第１乱数保存部を備え、
前記応答信号送信部は、前記第１乱数保存部に保存されている乱数と前記ＥＣＵからの要求信号に含まれる乱数とに基づいて所定の関数を演算しその演算結果を応答信号として前記ＥＣＵに送信する構成としている請求項８に記載のイモビライザ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両盗難防止システム、それに用いるＥＣＵおよびイモビライザに関し、詳しくは、車両盗難を防止する際のセキュリティ性を向上させるものに関する。
【背景技術】
【０００２】
従来より、車両の不正解錠による盗難を防止するものとしてイモビライザを搭載した車両が提供されている。その一例として、ユーザが所有するイグニッションキーに暗証コードを登録していると共に、同一の暗証コードを登録したイモビライザを車両側のキーシリンダに付設し、該イモビライザがイグニッションキーおよびエンジンＥＣＵと通信して所要の認証処理を行うものがある。その具体的な処理手順は、図３に示すように、イグニッションキーがキーシリンダに差し込まれると、イグニッションキーに内蔵された小型発信器から暗証コードがイモビライザに送信される（Ｓ１）。イモビライザでは受信した暗証コードと自己に予め登録している暗証コードとが一致するかを照合する認証作業を行う（Ｓ２）。
【０００３】
次いで、イグニッションキーが回されてエンジンの始動が要求されると、前記暗証コードの認証結果がエンジンＥＣＵに送信され、エンジンＥＣＵは正しく認証されていることが確認された場合に、乱数Ｒを暗号化してイモビライザに送信する（Ｓ３）。イモビライザ側では受信した乱数Ｒを変数として所定の関数Ｆ（ｘ）を演算し（Ｓ４）、その演算結果である関数値Ｆ（Ｒ）をエンジンＥＣＵに返信する（Ｓ５）。エンジンＥＣＵでは受信したＦ（Ｒ）を復元し、先に送信した乱数と一致するかの照合を行う（Ｓ６）。その照合結果が一致していればエンジンの始動を行い（Ｓ７）、不一致であればエンジンの始動を許可しない。
【０００４】
しかしながら、前記構成の場合には関数Ｆ（ｘ）が固定であるため、第三者がイモビライザとエンジンＥＣＵとの通信経路に不正アクセスして乱数Ｒおよび関数値Ｆ（Ｒ）を盗み取れば、そこから関数Ｆ（ｘ）を推定することができる。関数Ｆ（ｘ）が分かれば、第三者はエンジンＥＣＵから送信される乱数を通信経路から読み取ることで関数値Ｆ（Ｒ）を算出することができ、関数値Ｆ（Ｒ）をエンジンＥＣＵに強制的に送信すればエンジンを始動することができるため、車両盗難に対するセキュリティ性が十分でないという問題がある。また、関数Ｆ（ｘ）の入力値に用いられる乱数Ｒも１つであるため、関数値（Ｒ）の算出が行いやすいという問題もある。
【０００５】
また、特開２０００−２５５７４号公報では、エンジンＥＣＵにおける認証用の乱数発生にＡ／Ｄ変換値を使うことで、発生する乱数を予測しにくくしてセキュリティ性を向上させている。
しかしながら、イモビライザとエンジンＥＣＵとの通信経路に不正アクセスすることで、通信中に乱数および関数値を盗聴することができ且つ乱数も１つであるため、固定の関数Ｆ（ｘ）を推定するのが容易であることには違いがなく、前記問題は解決されていない。
【特許文献１】特開２０００−２５５７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、前記問題に鑑みてなされたもので、イモビライザの通信経路に不正アクセスされても車両盗難ができないようにセキュリティ性を向上させることを課題としている。
【課題を解決するための手段】
【０００７】
前記課題を解決するため、本発明は、車両の走行駆動手段を制御するＥＣＵに接続されるイモビライザでイグニッションキーの認証を行うと共に、該イモビライザと前記ＥＣＵとの間で所定の認証作業を行うことで前記走行駆動手段の始動を制御して車両盗難を防止するシステムにおいて、
前記イモビライザは、前記ＥＣＵから受信する２つ以上の乱数を入力値として所定の関数を演算し、該演算結果を応答信号として前記ＥＣＵに返信する一方、前記ＥＣＵでは該応答信号に基づいて所定の認証作業を行い、認証が確認された場合に前記走行駆動手段の始動を許可する構成としていることを特徴とする車両盗難防止システムを提供している。
【０００８】
前記構成とすると、イモビライザで演算される関数の入力値である乱数が２つ以上必要であり、関数の演算に必要な情報の分散度が高まるので、第三者は、ＥＣＵでの認証作業に必要な応答信号を作成することが困難となり、車両盗難に対するセキュリティ性を向上させることが可能となる。
【０００９】
前記関数は毎回の認証作業ごとに変更される構成としていることが好ましい。
このように、関数自体を認証作業の度に変更して固定関数としていないことで、たとえ第三者が関数を１度見破ったとしても、次回の認証作業時にはその関数を使うことができず、関数のロバスト性を強化することができる。したがって、ＥＣＵでの認証作業に必要な応答信号を作成することが更に困難となり、車両盗難に対するセキュリティ性を向上させることが可能となる。
【００１０】
前記走行駆動手段の動作中に、前記２つ以上の乱数のうち一部の乱数を前記イモビライザに予め送信しておくと共に、該送信後に送信済みの乱数を前記ＥＣＵから削除する処理を行い、
前記走行駆動手段の停止中に、前記イグニッションキーを正しく認証した認証信号が前記イモビライザから前記ＥＣＵに送信されると、前記ＥＣＵは前記２つ以上の乱数のうち未送信である乱数を要求信号として前記イモビライザに送信する一方、前記イモビライザでは、前記要求信号に含まれる乱数および前記走行駆動手段の動作中に予め受信していた乱数を入力値として前記関数を演算し、その演算結果を応答信号として前記ＥＣＵに送信する構成としていることが好ましい。
【００１１】
前記構成とすると、イモビライザで関数を演算するのに必要となる２つ以上の乱数のうち一部の乱数は、走行駆動手段の動作中に予めＥＣＵからイモビライザに送信しているので、通信経路からその乱数を盗み取ることはできない。即ち、走行駆動手段が動作しているときは、車両の走行中あるいはアイドリング中でユーザが車両に乗車しているため、第三者がイモビライザとＥＣＵとの間の通信経路に不正アクセスすることは困難となり、前記乱数が通信中に盗み取られるのを防止することができる。かつ、前記乱数をイモビライザに送信した後はＥＣＵから送信済みの乱数を削除して残さないようにしているので、第三者は駐車中に不正解錠してＥＣＵ内を覗き見たとしても、関数を演算するのに必要となる一部の乱数を知ることができない。
したがって、第三者は、ＥＣＵでの認証作業に必要な応答信号を作成することができず、車両盗難に対するセキュリティ性を飛躍的に向上させることが可能となる。
【００１２】
前記走行駆動手段の動作中に前記ＥＣＵから前記イモビライザに送信される乱数をＰ、前記走行駆動手段の停止中に前記ＥＣＵから前記イモビライザに送信される乱数をＲ、一方向性ハッシュ関数をＨ（ｘ，ｙ）、ｘ，ｙを変数、ｎを自然数とすると、
前記ＥＣＵでは、前記走行駆動手段の動作中に、乱数Ｐおよび乱数Ｒを初期入力値として、前記一方向性ハッシュ関数Ｈの繰り返し演算である
Ｈ１＝Ｈ（Ｐ，Ｒ）
Ｈ２＝Ｈ（Ｈ１，Ｒ）
・
・
Ｈｎ＝Ｈ（Ｈｎ−１，Ｒ）
を演算して、Ｈｎを第１関数値として保存しておくと共に乱数ＰおよびＨ１〜Ｈｎ−１を削除し、次いで、
前記イモビライザでは、前記走行駆動手段の停止中に、前記要求信号として受信した乱数Ｒと前記予め受信していた乱数Ｐとを初期入力値として、前記一方向性ハッシュ関数Ｈの繰り返し演算である
Ｈ１＝Ｈ（Ｐ，Ｒ）
Ｈ２＝Ｈ（Ｈ１，Ｒ）
・
・
Ｈｍ＝Ｈ（Ｈｍ−１，Ｒ）
を前記関数として演算し（ｍは自然数、ｍ＜ｎ）、第２関数値Ｈｍを前記応答信号として前記ＥＣＵに返信し、
前記ＥＣＵでは、認証作業として、前記受信した第２関数値Ｈｍと前記乱数Ｒとを入力値として前記一方向性ハッシュ関数ＨによりＨｎの値を演算し、この演算結果を前記第１関数値Ｈｎと照合して一致した場合に前記走行駆動手段の始動許可を行う構成としていると好ましい。
【００１３】
前記構成とすると、一方向性ハッシュ関数は出力である関数値から入力値を逆算するのが困難であるので、第三者がＥＣＵ内を覗き見て第１関数値を知ったとしても入力値である乱数を知ることはできない。したがって、イモビライザからＥＣＵへの応答信号として必要な第２関数値を割り出すことはできず、車両盗難に対するセキュリティ性を大幅に向上させることができる。
なお、一方向性ハッシュ関数とは、ある値を入力した時に別の値に変換する関数で、長いデータが入力されても特定データ長に変換され、入力が違えば変換された出力も異なり、また、変換された出力から逆変換して入力を探すことはできないという特徴を有する関数をいう。
【００１４】
認証作業毎に変換回数ｎおよびｍの値を変更するように設定していることが好ましい。
前記構成とすると、前記関数として一方向性ハッシュ関数の繰り返し演算を行い、認証作業ごとに一方向性ハッシュ関数の変換回数ｎ、ｍの値を変えることで関数を固定としていないので、イモビライザとＥＣＵとの間の通信経路を盗聴されても、関数を推定することはできずセキュリティ性が向上する。
【００１５】
前述の車両盗難防止システムを実現するＥＣＵとして、本発明は、イグニッションキーを認証するイモビライザに接続されると共に車両に搭載された走行駆動手段を制御するＥＣＵであって、
２つ以上の乱数を生成する乱数発生部と、前記イモビライザからイグニッションキーの認証信号を受信すると前記乱数発生部で生成された乱数を要求信号として前記イモビライザに送信する要求信号送信部と、前記イモビライザからの応答信号に基づいて認証作業を行い該認証が確認された場合に前記走行駆動手段の始動を許可する照合部とを備えていることを特徴とするＥＣＵを提供している。
【００１６】
また、前記ＥＣＵは、前記走行駆動手段の動作中に少なくとも１つの乱数を前記イモビライザに送信する乱数送信部と、該送信後に送信済みの乱数を前記ＥＣＵから削除する削除指令部と、前記走行駆動手段の動作中に送信されない乱数を保存する第２乱数保存部とを備え、
前記要求信号送信部は、前記イモビライザからイグニッションキーの認証信号を受信すると前記第２乱数保存部に保存された乱数を要求信号として前記イモビライザに送信する構成としていると好ましい。
【００１７】
また、前述の車両盗難防止システムを実現するイモビライザとして、本発明は、車両の走行駆動手段を制御するＥＣＵに接続されると共にイグニッションキーの認証を行うイモビライザであって、
前記イグニッションキーの暗証コードが正しく認証された場合に認証信号を前記ＥＣＵに送信する暗証コード認証部と、前記ＥＣＵから受信する２つ以上の乱数に基づいて所定の関数を演算しその演算結果を応答信号として前記ＥＣＵに送信する応答信号送信部とを備えていることを特徴とするイモビライザを提供している。
【００１８】
また、前記走行駆動手段の動作中に前記ＥＣＵから受信する乱数を予め保存する第１乱数保存部を備え、
前記応答信号送信部は、前記第１乱数保存部に保存されている乱数と前記ＥＣＵからの要求信号に含まれる乱数とに基づいて所定の関数を演算しその演算結果を応答信号として前記ＥＣＵに送信する構成としていると好ましい。
【発明の効果】
【００１９】
以上の説明より明らかなように、本発明によれば、関数の入力値である乱数を２つ以上として、関数の演算に必要な情報の分散度を高めることで、第三者は認証作業に必要な応答信号を作成することが困難となる。また、関数を認証作業の度に変更して固定関数としないことで、たとえ第三者が関数を盗んだとしても、次回の認証作業時にはその関数を使うことができず、応答信号の作成が更に困難となる。さらに、２つ以上の乱数のうち一部の乱数は、走行駆動手段の動作中、即ち、車両の走行中などに予めＥＣＵからイモビライザに送信しているので、第三者がその乱数を通信経路から盗み取ることはできない。かつ、該乱数をイモビライザに送信した後はＥＣＵからその乱数を削除しているので、駐車中などに不正解錠してＥＣＵ内を覗き見ることができたとしても、前記関数を演算するのに必要となる前記乱数を知ることができない。
以上より、第三者はＥＣＵでの認証作業に必要な関数値を算出することができず、車両盗難に対するセキュリティ性が大幅に向上する。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態を図面を参照して説明する。
図１は本実施形態の車両盗難防止システムを示し、ユーザが所有するイグニッションキー１１と、車両の運転席に設置されているキーシリンダ１５に付設されるイモビライザ１２と、車両に搭載されたエンジン１４（走行駆動手段）を制御するエンジンＥＣＵ（Electronic Control Unit）１３とを備えている。イモビライザ１２は通信線Ｌ１を介してエンジンＥＣＵ１３に接続されていると共に、エンジンＥＣＵ１３は通信線Ｌ２を介してエンジン１４の点火装置（図示せず）等と接続されている。
イグニッションキー１１は、そのユーザに固有の暗証コードが登録された暗証コード保存部１６と、暗証コードをイモビライザ１２に送信する発信器１７とを内蔵している。
【００２１】
次に、イモビライザ１２の構成について説明する。
イモビライザ１２は、受信器１８と、暗証コード保存部１９と、暗証コード認証部２０と、入出力手段２１と、第１乱数保存部２２と、関数保存部２３と、関数演算部２４と、要求信号受信部２５と、応答信号送信部２６とを備えている。
詳しくは、受信器１８は、イグニッションキー１１の発信器１７から送信される暗証コードを受信する。暗証コード保存部１９は、イグニッションキー１１の暗証コード保存部１６に登録されている暗証コードと同一の暗証コードを登録している。暗証コード認証部２０は、受信器１８で受信した暗証コードと自己の暗証コード保存部１９に登録されている暗証コードとが一致するか照合して正しく認証された場合に認証信号をエンジンＥＣＵ１３に送信する構成としている。入出力手段２１は、エンジンＥＣＵ１３と信号線Ｌ１を介して接続する通信インターフェースである。
【００２２】
第１乱数保存部２２は、エンジン動作中にエンジンＥＣＵ１３から受信する第１乱数Ｐを予め保存する。関数保存部２３は、２つの変数ｘ，ｙを入力として所定の演算を行う一方向性ハッシュ関数Ｈ（ｘ，ｙ）を保存している。要求信号受信部２５は、エンジンＥＣＵ１３から要求信号を受信して、該要求信号に含まれる第２乱数Ｒを関数演算部２４に渡す。関数演算部２４は、第１乱数保存部２２に保存されている第１乱数Ｐと要求信号受信部２５で受信された第２乱数Ｒとに基づいて、関数保存部２３に保存された一方向性ハッシュ関数Ｈ（ｘ，ｙ）により後述する繰り返し演算を行う。応答信号送信部２６は、関数演算部２４での演算結果である第２関数値Ｈｎ−１を応答信号としてエンジンＥＣＵ１３に送信する。
【００２３】
次に、エンジンＥＣＵ１３の構成について説明する。
エンジンＥＣＵ１３は、乱数発生部２９と、第１乱数送信部３０と、第２乱数保存部３１と、要求信号送信部３２と、変換回数保存部３３と、応答信号受信部３４と、関数演算部３５と、関数保存部３６と、関数値保存部３７と、削除指令部３８と、照合部３９と、出力手段４０とを備えている。
詳しくは、乱数発生部２９は、一方向性ハッシュ関数Ｈ（ｘ，ｙ）の２つの変数ｘ，ｙに代入される初期値となる２つの乱数Ｐ、Ｒを生成する。第１乱数送信部３０は、エンジン動作中に第１乱数Ｐをイモビライザ１２に送信する。第２乱数保存部３１は、乱数発生部２９で生成された第２乱数Ｒを後で行われる認証作業に備えて保存する。要求信号送信部３２は、イモビライザ１２の暗証コード認証部２０から認証信号を受信すると第２乱数Ｒを要求信号としてイモビライザ１２に送信する。変換回数保存部３３は、一方向性ハッシュ関数Ｈ（ｘ，ｙ）の演算を繰り返す回数、即ち、変換回数ｎを保存している。応答信号受信部３４は、イモビライザ１２の応答信号送信部２６から送信される応答信号を受信する。
【００２４】
関数演算部３５は、エンジン動作中に、乱数発生部２９で生成された第１乱数Ｐおよび第２乱数Ｒとに基づいて、関数保存部３６に保存された一方向性ハッシュ関数Ｈ（ｘ，ｙ）を用いて後述する繰り返し演算を行う。また、関数演算部３５は、エンジン停止中には、イモビライザ１２から受信した応答信号に基づいて後述する一方向性ハッシュ関数Ｈ（ｘ，ｙ）の演算を１回行う。関数保存部３６は、２つの変数ｘ，ｙを入力として所定の演算を行う一方向性ハッシュ関数Ｈ（ｘ，ｙ）を保存している。関数値保存部３７は、関数演算部３５での演算結果である第１関数値Ｈｎを保存する。削除指令部３８は、第１乱数Ｐを第１乱数送信部３０でイモビライザ１２への送信した後で、かつ、第１関数値Ｈｎを関数値保存部３７に保存した後に、第１乱数Ｐを削除する指令を行う。照合部３９は、イモビライザ１２からの応答信号に含まれる第２関数値Ｈｎ−１と関数値保存部３７に保存されている第１関数値Ｈｎとに基づいて後述する認証作業を行う。出力手段４０は、照合部３９で認証が確認された場合にエンジン１４の始動を許可する信号をエンジン１４側に送信する。
【００２５】
次に、図２のフロー図に基づいて車両盗難を防止する処理の手順を説明する。
まず、駐車車両のエンジン１４の始動可否を判断する認証作業に備えて、駐車前のエンジン動作中に予め行っておく予備処理について説明する。エンジンＥＣＵ１３の乱数発生部２９で第１乱数Ｐと第２乱数Ｒを生成し（Ｓ１０）、第１乱数Ｐを第１乱数送信部３０からイモビライザ１２へ送信する（Ｓ１１）。イモビライザ１２側では受信した第１乱数Ｐを第１乱数保存部２２に保存しておく（Ｓ１２）。
【００２６】
エンジンＥＣＵ１３の関数演算部３５では、関数保存部３６に保存されている一方向性ハッシュ関数Ｈ（ｘ，ｙ）に対して第１乱数Ｐおよび第２乱数Ｒを初期入力値とし、かつ、変換回数保存部３３に登録されている変換回数をｎ回（例えば、ｎ＝１００）として、
Ｈ１＝Ｈ（Ｐ，Ｒ）
Ｈ２＝Ｈ（Ｈ１，Ｒ）
・
・
Ｈｎ＝Ｈ（Ｈｎ−１，Ｒ）
と繰り返し演算を行い、第１関数値Ｈｎを算出する（Ｓ１３）。即ち、第１関数値Ｈｎはワンタイムパスワードの一種であるＳ／ＫＥＹを使用して算出されている。なお、該演算後は、次回の変換回数を変えるために、例えば、今回の変換回数ｎに１減じた値を変換回数保存部３３に上書き保存しておく。
【００２７】
次いで、前記算出した第１関数値Ｈｎを関数値保存部３７に登録保存すると共に、第２乱数Ｒを第２乱数保存部３１に登録保存する（Ｓ１４）。その後、削除指令部３８により第１乱数Ｐと関数値Ｈ１〜Ｈｎ−１とをエンジンＥＣＵ１３から削除する（Ｓ１５）。
以上で、エンジン始動時の認証作業に備えた予備処理を終了する。
【００２８】
次に、ユーザが駐車中の車両のエンジン１４を始動させる際の認証作業について説明する。
まず、ユーザがイグニッションキー１１をキーシリンダ１５に挿入すると、イグニッションキー１１の暗証コード保存部１６に登録された暗証コードが発信器１７により送信され（Ｓ１６）、イモビライザ１２の受信器１８で受信される。イモビライザ１２では、受信した暗証コードが自己の暗証コード保存部１９に保存された暗証コードと一致するかを暗証コード認証部２０で照合し、一致する場合にはエンジンＥＣＵ１３に認証信号を送信する（Ｓ１７）。なお、一致しなかった場合には認証信号が送信されずに次のステップに移らないためエンジン１４の始動を行うことができない。
【００２９】
前記認証信号を受信したエンジンＥＣＵ１３では、要求信号送信部３２から第２乱数Ｒおよび変換回数ｎ−１が要求信号として送信される（Ｓ１８）。イモビライザ１２では、第２乱数Ｒおよび変換回数ｎ−１が要求信号受信部２５で受信され、関数演算部２４に渡される。
関数演算部２４では、関数保存部２３に保存されている一方向性ハッシュ関数Ｈ（ｘ，ｙ）に対して、前記第２乱数Ｒと、第１乱数保存部２２で予め受信していた第１乱数Ｐとを初期入力値とし、かつ、一方向性ハッシュ関数Ｈ（ｘ，ｙ）の変換回数ｍを前記受信した変換回数ｎ−１とし（例えば、ｍ＝９９）として、
Ｈ１＝Ｈ（Ｐ，Ｒ）
Ｈ２＝Ｈ（Ｈ１，Ｒ）
・
・
Ｈｍ＝Ｈ（Ｈｍ−１，Ｒ）
と繰り返し演算を行い（ｍ＝ｎ−１）、第２関数値Ｈｍ、即ち第２関数値Ｈｎ−１を算出する（Ｓ１９）。
【００３０】
次いで、応答信号送信部２６から第２関数値Ｈｎ−１を応答信号としてエンジンＥＣＵ１３に返信する（Ｓ２０）。エンジンＥＣＵ１３では、第２関数値Ｈｎ−１が応答信号受信部３４で受信され、関数演算部３５に渡される。
関数演算部３５では、関数保存部３６に保存されている一方向性ハッシュ関数Ｈ（ｘ，ｙ）に対して、第２乱数Ｒと受信した第２関数値Ｈｎ−１とを入力値として、
Ｈｎ＝Ｈ（Ｈｎ−１，Ｒ）
を演算する（Ｓ２１）。
照合部３９では、この演算結果であるＨｎの値と、関数値保存部３７にエンジン動作中に保存していた第１関数値Ｈｎの値とが一致するかを照合し、照合があえば出力手段４０を介してエンジン１４に始動許可が送信される（Ｓ２２）。一方、照合があわなかった場合には始動許可が送信されずにエンジン１４の始動を行うことができない。
なお、今回の認証作業では、例えば、エンジンＥＣＵ１３での変換回数ｎ＝１００、イモビライザ１２での変換回数ｍ＝９９としていたところを、次回の認証作業では、ｎ＝９９、ｍ＝９８として、変換回数が変更されるように設定されている。
【００３１】
以上によれば、エンジンＥＣＵ１３の照合部４０での照合作業に必須となる第２関数値Ｈｎ−１が第三者に知得されるのを確実に防止することができる。
即ち、第２関数値Ｈｎ−１を演算するのに必須となる第１乱数Ｐおよび第２乱数Ｒはそれぞれイモビライザ１２とエンジンＥＣＵ１３とに分散保存されており、第１乱数Ｐをイモビライザ１２に送信した後はエンジンＥＣＵ１３から第１乱数Ｐを削除しているので、第三者は駐車中に不正解錠してイモビライザ１２あるいはエンジンＥＣＵ１３のいずれか一方を覗き見たとしても、第１乱数Ｐおよび第２乱数Ｒの両方を知ることはできない。かつ、第１乱数Ｐはユーザが車両に乗車しているエンジン動作中に予めエンジンＥＣＵ１３からイモビライザ１２に送信しているので通信中に通信線Ｌ１から第１乱数Ｐを盗み取ることもできない。
【００３２】
また、イモビライザ１２およびエンジンＥＣＵ１３の関数演算部２４、３５で行われる演算を、一方向性ハッシュ関数Ｈ（ｘ，ｙ）の繰り返し演算として、認証作業ごとに一方向性ハッシュ関数Ｈ（ｘ、ｙ）の変換回数ｎ、ｍの値を変えているので、関数演算部２４、３５で行われる演算関数を推定することは困難である。また、一方向性ハッシュ関数Ｈ（ｘ，ｙ）は出力値から入力値を逆算するのが困難であるので、第三者がエンジンＥＣＵ１３内を覗き見て第１関数値Ｈｎを知得しても、第２関数値Ｈｎ−１を推定することはできない。
したがって、イモビライザ１２からエンジンＥＣＵ１３への応答信号として必須な第２関数値Ｈｎ−１を第三者は求めることができず、車両盗難に対するセキュリティ性が飛躍的に向上する。
【００３３】
なお、本実施形態では、エンジンＥＣＵ１３からイモビライザ１２に送信される変換回数ｎ−１をエンジン停止中に送信しているが（Ｓ１８）、エンジン動作中に予め送信しておいてもよい。また、本実施形態の車両の走行駆動手段はエンジン１４としているが、電気自動車等の場合には前記走行駆動手段は車輪を駆動するモータ装置とするとよい。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態の車両盗難防止システムを示すブロック図である。
【図２】認証手順を示すフロー図である。
【図３】従来例の認証手順を示すフロー図である。
【符号の説明】
【００３５】
１１    イグニッションキー
１２    イモビライザ
１３    エンジンＥＣＵ
１４    エンジン
１５    キーシリンダ
Ｌ１、Ｌ２    通信線
【図１】
2006088959.tif 000003
【図２】
2006088959.tif 000004
【図３】
2006088959.tif 000005