(57)【特許請求の範囲】
【請求項１】
それぞれが異なる関数と異なるパラメータとを有するデバイス群と、
前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数で構成される演算式から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システム。
【請求項２】
請求項１において、
前記認証デバイスは、さらに、前記求められた秘密情報群が記憶装置に格納された秘密情報と一致することを条件に、前記デバイス群を認証する認証システム。
【請求項３】
請求項１において、
前記デバイス群の各デバイスは、他のデバイスから前記パラメータを取得して、当該取得したパラメータと自らの前記関数とを用いて前記秘密情報を求め、当該求めた秘密情報を前記認証デバイスに転送する認証システム。
【請求項４】
請求項１において、
前記デバイス群に含まれるデバイスの個数をｎとして、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外の（ｎ−１）個のデバイスが有する前記パラメータから前記秘密情報が求められ、
（ｎ−２）個以下のデバイスが有する前記パラメータから前記秘密情報を求めるための関数と、当該（ｎ−２）個以下のデバイスが有する関数により前記秘密情報が求めるためのパラメータとを有する親デバイスをさらに有し、
前記認証デバイスは、前記親デバイスが有する前記関数と前記（ｎ−２）個以下のデバイスが有する前記パラメータから求められた秘密情報と、前記親デバイスが有する前記パラメータと前記（ｎ−２）個以下のデバイスが有する前記関数から求められた秘密情報とが一致するときに、前記（ｎ−２）個以下のデバイスを認証する認証システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記デバイス群の各デバイスが有する前記関数は、他のデバイスが有する前記パラメータが代入されて前記秘密情報が求められる線形方程式である認証システム。
【請求項６】
それぞれが異なる関数と異なるパラメータとを有するデバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから秘密情報を求め、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数で構成される演算式から秘密情報を求め、
前記求められた秘密情報群が一致するときに前記デバイス群を認証する、認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システム、及び認証方法に関する。
【背景技術】
【０００２】
協働する複数のデバイスが真正か否かを認証する認証システムにおいて、セキュリティを向上させるための方法が提案されている。その一つとして、秘密分散法があげられる（たとえば、特許文献１〜４）。秘密分散法では、秘密情報を求めるための情報を分散し、分散情報として複数のデバイス（以下、分散情報保持デバイス）に保持させる。秘密情報は、たとえばＸ−Ｙ座標平面における線形方程式のＹ切片として規定される。この場合、線形方程式上の複数の点のＸ−Ｙ座標が分散情報である。この方法では、少なくとも２つの分散情報保持デバイスからそれぞれの分散情報を収集し、収集した分散情報から線形方程式が求められる。そして、線形方程式の切片である秘密情報が求められる。そして、求めた秘密情報の正否に基づき、分散情報保持デバイスの認証が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２１２０８９号公報
【特許文献２】特開２００４−２７４３２０号公報
【特許文献３】特開２００４−３４３８１６号公報
【特許文献４】特開２００５−１３０４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような認証システムは、たとえば、車両用のセキュリティシステムなどに用いることができる。車両用のセキュリティシステムでは、分散情報は、たとえば電子キーや運転者が携行するＩＣカードなどに保持される。車両用のセキュリティシステムには、セキュリティの向上が求められる一方で、低コスト化が求められる。
【０００５】
一方で、上記のような秘密分散法では、分散情報から線形方程式を求めるために、除算を行う必要がある。たとえば、点（ｘ１，ｙ１）と点（ｘ２，ｙ２）を通過し、秘密情報Ｓを切片とする直線は、次の式で表わされる。
ｙ＝[(ｙ２−ｙ１)／(ｘ２−ｘ１)]・ｘ＋Ｓ
すると、秘密情報Ｓは、次のように求められる。
秘密情報Ｓ＝（ｘ２・ｙ１−ｘ１・ｙ２）／（ｘ２−ｘ１）
しかしここで、秘密情報Ｓを求めるためには除算が必要とされるところ、除算は加減算や乗算より演算処理の負荷が大きい。よって、秘密情報を求めるためのデバイスには、ある程度以上の演算処理能力が求められる。このことは、セキュリティシステムの低コスト化を阻害する要因となる。  
【０００６】
そこで、本発明の目的は、セキュリティを向上させるとともに、秘密情報算出のための演算負荷が小さく、低コスト化が可能な認証システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の第１の側面における認証システムは、それぞれが異なる関数と異なるパラメータとを有するデバイス群と、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数で構成される演算式から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する。
【発明の効果】
【０００８】
以下の実施形態によれば、セキュリティを向上させるとともに、秘密情報算出のための演算処理負荷を小さくすることができる。
【図面の簡単な説明】
【０００９】
【図１】分散情報保持デバイスの数を２個としたときの認証システムの構成例を示す図である。
【図２】分散情報保持デバイスの数を３個としたときの認証システムの構成例を示す図である。
【図３】図２の変形例を示す図である。
【図４】第１実施例について説明する図である。
【図５】イモビライザシステムの詳細な構成例である。
【図６】第２実施例について説明する図である。
【図７】空気圧監視システムの詳細な構成例を示す図である。
【図８】第２実施例における変形例について説明する図である。
【図９】空気圧監視システムの詳細な構成例を示す図である。
【図１０】不正な空気圧センサを検出する処理について説明する図である。
【図１１】第１実施形態における認証システムの動作手順例について説明するフローチャート図である。
【図１２】第１実施形態における認証システムの動作手順例について説明するフローチャート図である。
【図１３】第２実施形態における認証システムの構成例を示す図である。
【図１４】第３実施例を示す図である。
【図１５】第４実施例を示す図である。
【図１６】親デバイスを用いたときの認証システムの動作手順例について説明するフローチャート図である。
【図１７】第２実施形態における認証処理の動作手順例について説明するフローチャート図である。
【発明を実施するための形態】
【００１０】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１１】
[第１実施形態]
第１実施形態における認証システムは、分散情報保持デバイス群と、これらを認証する認証デバイスとを有する。
【００１２】
図１は、分散情報保持デバイスの数を２個としたときの認証システムの構成例を示す図である。たとえば、この認証システムは、分散情報保持デバイス１０＿１、１０＿２と、認証デバイス２０とを有し、さらに、分散情報保持デバイス１０＿１、１０＿２が保持する分散情報を生成する分散情報生成装置１を有する。
【００１３】
分散情報保持デバイス１０＿１は、分散情報として、関数ｆ１（Ｘ）とパラメータＸ１とを有する。一方、分散情報保持デバイス１０＿２は、分散情報として、関数ｆ２（Ｘ）とパラメータＸ２（≠Ｘ１）とを有する。関数ｆ１（Ｘ）とパラメータＸ１、及び関数ｆ２（Ｘ）とパラメータＸ２は、分散情報生成装置１により、たとえば、次のようにして生成され、分散情報保持デバイス１０＿１、１０＿２に配布される。
【００１４】
まず、分散情報生成装置１は、任意のパラメータＸ１、Ｘ２を生成する。そして、秘密情報をＳとしたとき、分散情報生成装置１は、関数ｆ１（Ｘ）における変数項の任意の係数ａを決定し、また、関数ｆ２（Ｘ）における変数項の任意の係数ｂ（≠ａ）を決定する。そして、分散情報生成装置１は、次のような線形方程式で表わされる関数ｆ１（Ｘ）、ｆ２（Ｘ）を生成する。
関数ｆ１（Ｘ）＝ａ・Ｘ＋α（ただし、定数項α＝Ｓ−ａ・Ｘ２）
関数ｆ２（Ｘ）＝ｂ・Ｘ＋β（ただし、定数項β＝Ｓ−ｂ・Ｘ１）
この認証システムでは、２個の分散情報保持デバイス１０＿１、１０＿２のうち、一の分散情報保持デバイスが有する関数と他の分散情報保持デバイスが有するパラメータから、秘密情報Ｓを関数ごとに求める処理が実行される。かかる処理は、たとえば、認証デバイス２０により行われる。認証デバイス２０は、分散情報保持デバイス１０＿１からパラメータＸ１と関数ｆ１（Ｘ）を取得し、分散情報保持デバイス１０＿２からパラメータＸ２と関数ｆ２（Ｘ）を取得する。そして、認証デバイス２０は、たとえば、関数ｆ１（Ｘ）にパラメータＸ２を代入して秘密情報Ｓ＿１（以下の説明では、便宜上、関数ｆｎ（ｎ＝１、２、・・・）ごとに求めた秘密情報をＳ＿ｎとする）を求め、関数ｆ２（Ｘ）にパラメータＸ１を代入して秘密情報Ｓ＿２を求める。ここにおいて、秘密情報Ｓ＿１、Ｓ＿２は、次のとおりである。
秘密情報Ｓ＿１＝ａ・Ｘ２＋α
秘密情報Ｓ＿２＝ｂ・Ｘ１＋β
そして、認証デバイス２０は、求めた秘密情報Ｓ＿１、Ｓ＿２が一致するときに、分散情報デバイス１０＿１、１０＿２を認証する。さらに別の例では、秘密情報Ｓ＿１、Ｓ＿２が互いに一致し、かつ、照合用の秘密情報Ｓと一致するときに、認証デバイス２０は、分散情報デバイス１０＿１、１０＿２を認証する。照合用の秘密情報Ｓは、たとえば認証デバイス２０外部の記憶装置に格納される。
【００１５】
なお、秘密情報Ｓ＿１、Ｓ＿２を求める処理の別の例では、分散情報保持デバイス１０＿１（または１０＿２）が秘密情報Ｓ＿１、Ｓ＿２を求める処理を行う。たとえば、分散情報保持デバイス１０＿１（または１０＿２）が、分散情報デバイス１０＿２（または１０＿１）から関数ｆ２（Ｘ）（またはｆ１（Ｘ））とパラメータＸ２（またはＸ１）を取得して、秘密情報Ｓ＿１、Ｓ＿２を求める。また、別の例では、分散情報保持デバイス１０＿１、１０＿２の両方が、それぞれ他方からパラメータＸ２、Ｘ１を取得して、自らの関数ｆ１（Ｘ）、ｆ２（Ｘ）により秘密情報Ｓ＿１、Ｓ＿２を求める。
【００１６】
また、認証処理の別の例では、分散情報保持デバイス１０＿１または１０＿２が、求めた秘密情報Ｓ＿１、Ｓ＿２を認証デバイス２０に送り、認証デバイス２０が秘密情報Ｓ＿１、Ｓ＿２の一致・不一致を判定して認証を行う。また、別の例では、分散情報保持デバイス１０＿１または１０＿２が、求めた秘密情報Ｓ＿１、Ｓ＿２の一致・不一致を判定してその判定結果を認証デバイス２０に送り、その判定結果に基づいて認証デバイス２０が認証を行う。
【００１７】
図２は、分散情報保持デバイスの数を３個としたときの認証システムの構成例を示す図である。たとえば、この認証システムは、分散情報保持デバイス１０＿１、１０＿２、及び１０＿３と、認証デバイス２０とを有し、さらに、分散情報生成装置１を有する。分散情報保持デバイス１０＿１は、関数ｆ１（Ｘ）とパラメータＸ１とを有する。また、分散情報保持デバイス１０＿２は、関数ｆ２（Ｘ）とパラメータＸ２（≠Ｘ１）とを有する。そして、分散情報保持デバイス１０＿３は、関数ｆ３（Ｘ）とパラメータＸ３（≠Ｘ１、かつ≠Ｘ２）とを有する。
【００１８】
関数ｆ１（Ｘ）とパラメータＸ１、関数ｆ２（Ｘ）とパラメータＸ２、及び関数ｆ３（Ｘ）とパラメータＸ３は、分散情報生成装置１により、たとえば、次のようにして生成され、分散情報保持デバイス１０＿１、１０＿２、及び１０＿３に配布される。
【００１９】
まず、分散情報生成装置１は、任意のパラメータＸ１、Ｘ２、及びＸ３を生成する。そして、秘密情報をＳとしたとき、分散情報生成装置１は、関数ｆ１（Ｘ）における変数項の任意の係数ａを決定し、また、関数ｆ２（Ｘ）における変数項の任意の係数ｂ（≠ａ）を決定し、さらに、関数ｆ３（Ｘ）における変数項の任意の係数ｃ（≠ａ、かつ≠ｂ）を決定する。そして、分散情報生成装置１は、次のような線形方程式で表わされる関数ｆ１（Ｘ）、ｆ２（Ｘ）、及びｆ３（Ｘ）を生成する。
関数ｆ１（Ｘ）＝ａ・Ｘ＋α  （ただし、定数項α＝Ｓ−ａ・（Ｘ２＋Ｘ３））
関数ｆ２（Ｘ）＝ｂ・Ｘ＋β  （ただし、定数項β＝Ｓ−ｂ・（Ｘ１＋Ｘ３））
関数ｆ３（Ｘ）＝ｃ・Ｘ＋γ  （ただし、定数項γ＝Ｓ−ｃ・（Ｘ１＋Ｘ２））
この認証システムでは、３個の分散情報保持デバイス１０＿１、１０＿２、及び１０＿３のうち、１つの分散情報保持デバイスが有する関数とそれ以外の２つの分散情報保持デバイスが有するパラメータから秘密情報を求める処理が、各関数について実行される。かかる処理は、たとえば、認証デバイス２０により行われる。
【００２０】
認証デバイス２０は、分散情報保持デバイス１０＿１からパラメータＸ１と関数ｆ１（Ｘ）を取得し、分散情報保持デバイス１０＿２からパラメータＸ２と関数ｆ２（Ｘ）を取得し、分散情報保持デバイス１０＿３からパラメータＸ３と関数ｆ３（Ｘ）を取得する。そして、認証デバイス２０は、関数ｆ１（Ｘ）にパラメータＸ２とＸ３の和を代入して秘密情報Ｓ＿１を求める。また、認証デバイス２０は、関数ｆ２（Ｘ）にパラメータＸ１とＸ３の和を代入して秘密情報Ｓ＿２を求める。そして、認証デバイス２０は、関数ｆ３（Ｘ）にパラメータＸ１とＸ２の和を代入して秘密情報Ｓ＿３をそれぞれ求める。ここにおいて、秘密情報Ｓ＿１〜３は、次のとおりである。
秘密情報Ｓ＿１＝ａ・（Ｘ２＋Ｘ３）＋α
秘密情報Ｓ＿２＝ｂ・（Ｘ１＋Ｘ３）＋β
秘密情報Ｓ＿３＝ｃ・（Ｘ１＋Ｘ２）＋γ
そして、認証デバイス２０は、求められた秘密情報Ｓ＿１〜３が一致するときに分散情報デバイス１０＿１〜３を認証する。たとえば、認証デバイス２０は、自ら求めた秘密情報Ｓ＿１〜３が一致するときに認証を行う。さらに、別の例では、認証デバイス２０は、秘密情報Ｓ＿１〜３が一致し、かつ照合用の秘密情報Ｓと一致するときに認証を行う。
【００２１】
なお、秘密情報Ｓ＿１〜３を求める処理の別の例では、分散情報保持デバイス１０＿１〜３のいずれかが他の２つの分散情報保持デバイスから関数とパラメータを取得して、秘密情報Ｓ＿１〜３を求める。また、別の例では、分散情報保持デバイス１０＿１〜３のそれぞれが他の２つの分散情報保持デバイスからパラメータを取得して、自らの関数ｆ１〜３（Ｘ）により秘密情報Ｓ＿１〜３を求める。
【００２２】
また、認証処理の別の例では、分散情報保持デバイス１０＿１、１０＿２、または１０＿３が、求めた秘密情報Ｓ＿１〜３を認証デバイス２０に転送し、認証デバイス２０が秘密情報Ｓ＿１〜３の一致・不一致を判定して認証を行う。また、別の例では、分散情報保持デバイス１０＿１、１０＿２、または１０＿３が、求めた秘密情報Ｓ＿１〜３の一致・不一致を判定してその判定結果を認証デバイス２０に転送し、その判定結果に基づいて認証デバイス２０が認証を行う。
【００２３】
図３は、図２の変形例を示す図である。この変形例では、分散情報保持デバイスのうち一の分散情報保持デバイスが有するパラメータと、それ以外の分散情報保持デバイスが有する関数から秘密情報をパラメータごとに求める処理が行われる。ここでは、関数ｆ１（Ｘ）とパラメータＸ１、関数ｆ２（Ｘ）とパラメータＸ２、及び関数ｆ３（Ｘ）とパラメータＸ３は、たとえば、分散情報生成装置１により、次のようにして生成される。
【００２４】
まず、分散情報生成装置１は、任意のパラメータＸ１、Ｘ２、及びＸ３を生成する。そして、秘密情報をＳとしたとき、分散情報生成装置１は、任意の定数ａ、ｂ（≠ａ）、及びｃ（≠ａ、かつ≠ｂ）を決定する。そして、分散情報生成装置１は、次のような線形方程式を示す関数ｆ１（Ｘ）、ｆ２（Ｘ）、及びｆ３（Ｘ）を生成する。そして、分散情報生成装置１は、次のような定数項α、β、及びγを生成する。
定数項α＝（Ｓ＋（ｂ＋ｃ）・Ｘ１−（ａ＋ｃ）・Ｘ２−（ａ＋ｂ）・Ｘ３）／２
定数項β＝（Ｓ−（ｂ＋ｃ）・Ｘ１＋（ａ＋ｃ）・Ｘ２−（ａ＋ｂ）・Ｘ３）／２
定数項γ＝（Ｓ−（ｂ＋ｃ）・Ｘ１−（ａ＋ｃ）・Ｘ２＋（ａ＋ｂ）・Ｘ３）／２
そして、分散情報生成装置１は、次のような線形方程式により表わされる関数ｆ１（Ｘ）、ｆ２（Ｘ）、及びｆ３（Ｘ）を生成する。
関数ｆ１（Ｘ）＝ａ・Ｘ＋α
関数ｆ２（Ｘ）＝ｂ・Ｘ＋β
関数ｆ３（Ｘ）＝ｃ・Ｘ＋γ
そして、たとえば、認証デバイス２０は、分散情報保持デバイス１０＿１が有するパラメータＸ１を、分散情報保持デバイス１０＿２が有する関数ｆ２（Ｘ）と分散情報保持デバイス１０＿３が有する関数ｆ３（Ｘ）の和に代入することで、秘密情報Ｓ＿１を求める。また、認証デバイス２０は、分散情報保持デバイス１０＿２が有するパラメータＸ２を、分散情報保持デバイス１０＿１が有する関数ｆ１（Ｘ）と分散情報保持デバイス１０＿３が有する関数ｆ３（Ｘ）の和に代入することで、秘密情報Ｓ＿２を求める。そして、認証デバイス２０は、分散情報保持デバイス１０＿３が有するパラメータＸ３を、分散情報保持デバイス１０＿１が有する関数ｆ１（Ｘ）と分散情報保持デバイス１０＿２が有する関数ｆ２（Ｘ）の和に代入することで、秘密情報Ｓ＿３を求める。ここにおいて、秘密情報Ｓ＿１〜３は、次のとおりである。
秘密情報Ｓ＿１＝ｆ２（Ｘ１）＋ｆ３（Ｘ１）＝（ｂ＋ｃ）・Ｘ１＋β＋γ
秘密情報Ｓ＿２＝ｆ１（Ｘ２）＋ｆ３（Ｘ２）＝（ａ＋ｃ）・Ｘ２＋α＋γ
秘密情報Ｓ＿３＝ｆ１（Ｘ３）＋ｆ２（Ｘ３）＝（ａ＋ｂ）・Ｘ３＋α＋β
なお、この処理は、図２の場合と同様に、認証デバイス２０の代わりに、分散情報保持デバイス１０＿１〜３のいずれかにおいて行ってもよい。そして、認証デバイス２０は、図２の場合と同様に、求められた秘密情報Ｓ＿１〜３が一致するときに、分散情報デバイス１０＿１〜３を認証する。
【００２５】
図１〜図３で示したように、第１実施形態における認証システムは、それぞれが異なる関数と異なるパラメータとを有するｎ個（ｎ＝２、３、４、・・・）の分散情報保持デバイス１０＿１〜ｎを有する。そして、一の分散情報保持デバイスが有する関数（またはパラメータ）と他の（ｎ−１）個の分散情報保持デバイスが有するパラメータ（または関数）から秘密情報Ｓ＿１〜ｎを求める処理が、関数（パラメータ）ごとに行われる。そして、秘密情報Ｓ＿１〜ｎが一致するときに、分散情報保持デバイス１０＿１〜ｎの認証が行われる。
【００２６】
そして、図１〜図３の例では、秘密情報Ｓ＿１〜ｎを求めるとき、加算と乗算とが行われ、除算は行われることがない。よって、秘密情報を求めるための演算回路の構成は、除算を行うための回路より簡易な構成とすることができる。よって、たとえば、複数の座標位置を通過する線形方程式を求める分散秘密方法の例と比較したとき、より簡易な演算処理が可能となる。よって、より簡易な回路構成で認証システムを構成でき、低コスト化が可能になる。
【００２７】
第１実施形態における認証システムは、たとえば次のようなシステムに適用される。
【００２８】
図４は、第１実施形態の認証システムが適用される第１実施例について説明する図である。第１実施例では、認証システムは、イモビライザシステムに適用される。第１実施例では、分散情報保持デバイス群は、免許証１０＿１ａと電子キー１０＿２ａである。免許証１０＿１ａは、たとえばＩＣカードである。免許証１０＿１ａは、関数ｆ１（ｘ）とパラメータＸ１とを含む分散情報ｄ＿１を有する。電子キー１０＿２ａは、たとえば機械式の車両キーに備えられる。電子キー１０＿２ａは、関数ｆ２（ｘ）とパラメータＸ２とを含む分散情報ｄ＿２を有する。
【００２９】
認証デバイス２０は、たとえばエンジンＥＣＵ（Electronic Control Unit）２０ａである。エンジンＥＣＵ２０ａには、読取装置１１と、イグニションスイッチ１２とが、車載ＬＡＮ（Local Area Network）１３を介して接続される。また、エンジンＥＣＵ２０ａには、記憶装置２０１が接続される。読取装置１１は、たとえばＩＣカードリーダである。読取装置１１は、免許証１０＿１ａから分散情報ｄ＿１を読み取ってエンジンＥＣＵ２０ａに転送する。イグニションスイッチ１２は、電子キー１０＿２ａが取り付けられる車両キーにより機械的に回動されてオン・オフされ、オン・オフに対応する制御信号をエンジンＥＣＵ２０ａに送る。また、イグニションスイッチ１２は、電子キー１０＿２ａから送信される分散情報ｄ＿２を受信してエンジンＥＣＵ２０ａに転送する手段を有する。なお、車載ＬＡＮ１３は、たとえばＣＡＮ（Controller Area Network）である。また、記憶装置２０１は、照合用の秘密情報Ｓを格納する。
【００３０】
図５は、上記イモビライザシステムの詳細な構成例である。電子キー１０＿２ａは、分散情報ｄ＿２を格納する記憶部３３と、記憶部３３から読み出された分散情報ｄ＿２を送信する通信部３２とを有する。エンジンＥＣＵ２０ａは、たとえばバス２４により接続されるＣＰＵ（Central Processing Unit）２１、ＲＯＭ２３、ＲＡＭ（Random Access Memory）２２、及びインターフェース部２５を有する。インターフェース部２５には、記憶装置２０１が接続される。また、インターフェース部２５には、車載ＬＡＮ１３経由で、通信装置１２０、読取装置１１が接続される。
【００３１】
通信装置１２０は、たとえば、イグニションスイッチ１２に設けられ、電子キー１０＿２ａの通信部３２から送信される分散情報ｄ＿２を受信し、インターフェース部２５を介してＣＰＵ２１に転送する。また、読取装置１１は、ＩＣカードである免許証１０＿１ａから、分散情報ｄ＿１を読み取り、インターフェース部２５を介してＣＰＵ２１に転送する。また、記憶装置２０１は、たとえばＲＯＭ（Read Only Memory）を有し、ＲＯＭ内に照合用の秘密情報Ｓを格納する。
【００３２】
ＣＰＵ２１は、通信装置１２０や読取装置１１から転送される分散情報に基づいて、認証処理を行う。このときＣＰＵ２１は、ＲＯＭ２３に格納される処理プログラムに従って、秘密情報の算出やその認証処理を実行する。処理に必要な各種データやプログラムは、ＲＡＭ２２に一時的に格納される。
【００３３】
上記イモビライザシステムにおける認証処理について、図４、図５を用いて説明する。まず、エンジンＥＣＵ２０ａは、免許証１０＿１ａが有する分散情報ｄ＿１と、電子キー１０＿２ａが有する分散情報ｄ＿２とに基づいて秘密情報Ｓ＿１、２を求める。具体的には、エンジンＥＣＵ２０ａは、免許証１０＿１ａから関数ｆ１（ｘ）とパラメータＸ１を含む分散情報ｄ＿１を取得し、電子キー１０＿２ａから関数ｆ２（ｘ）とパラメータＸ２を含む分散情報ｄ＿２を取得する。
【００３４】
そして、エンジンＥＣＵ２０ａは、免許証１０＿１ａから取得した関数ｆ１（Ｘ）と、電子キー１０＿２aから取得したパラメータＸ２から、秘密情報Ｓ＿１を算出する。また、エンジンＥＣＵ２０ａは、電子キー１０＿２ａから取得した関数ｆ２（Ｘ）と、免許証１０＿１から取得したパラメータＸ１から、秘密情報Ｓ＿２を算出する。ここで、秘密情報Ｓ＿１、Ｓ＿２は、次の通りである。
秘密情報Ｓ＿１＝ａ・Ｘ２＋α
秘密情報Ｓ＿２＝ｂ・Ｘ１＋β
そして、エンジンＥＣＵ２０ａは、算出した秘密情報Ｓ＿１、Ｓ＿２が互いに一致し、かつ、照合用の秘密情報Ｓと一致するときに、免許証１０＿１ａと電子キー１０＿２ａが真正であると認証する。
【００３５】
エンジンＥＣＵ２０ａは、認証が成立した場合に、イグニションスイッチ１２のオンに応答してエンジン始動を許可する。一方、認証が成立しないときには、イグニションスイッチ１２がオンされてもエンジン始動を許可しない。このようなイモビライザシステムによれば、たとえば、電子キーにのみ秘密情報を格納しておきその認証を行うような場合と比較すると、セキュリティをより向上させることができる。
【００３６】
図６は、第１実施形態の認証システムが適用される第２実施例について説明する図である。第２実施例では、認証システムは、車両のタイヤの空気圧を監視する、空気圧監視システムに適用される。分散情報保持デバイス群は、たとえば、タイヤごとに設けられる空気圧センサ１０＿１ｂ〜４ｂである。空気圧センサ１０＿１ｂ〜４ｂは、たとえば、タイヤの空気圧を検知する圧電素子と、検知した空気圧を無線送信する通信装置を有する。また、空気圧センサ１０＿１〜４ｂは、それぞれ分散情報ｄ＿１１〜１４を有する。
【００３７】
認証デバイス２０は、たとえばボディＥＣＵ（Electronic Control Unit）２０ｂである。ボディＥＣＵ２０ｂには、ここでは図示を省略する無線通信装置が、ＬＩＮ（Local Interconnect Network）などの車載ＬＡＮ２７を介して接続される。これにより、ボディＥＣＵ２０ｂは、空気圧センサ１０＿１ｂ〜４ｂが無線送信する分散情報ｄ＿１１〜１４を受信する。また、ボディＥＣＵ２０ｂには、記憶装置２０２が接続される。記憶装置２０２には、照合用の秘密情報Ｓが格納される。
【００３８】
図７は、上記空気圧監視システムの詳細な構成例である。空気圧センサ１０＿１ｂ〜４ｂは、それぞれ、分散情報ｄ＿１１〜１４を格納する記憶部３３と、記憶部３３から読み出された分散情報を無線送信する通信部３２とを有する。ボディＥＣＵ２０ｂは、たとえばバス２４により接続されるＣＰＵ２１、ＲＯＭ２３、ＲＡＭ（Random Access Memory）２２、及びインターフェース部２５を有する。
【００３９】
インターフェース部２５には、記憶装置２０２が接続される。またインターフェース部２５には、車載ＬＡＮ２７を介して通信装置１２２が接続される。記憶装置２０２は、たとえばＲＯＭを有する。この、ＲＯＭには、図５で示したように、照合用の秘密情報Ｓが格納される。通信装置１２２は、空気圧センサ１０＿１ｂ〜４ｂの通信部３２から送信される分散情報ｄ＿１１〜１４を受信し、インターフェース部２５を介してＣＰＵ２１に転送する。
【００４０】
ＣＰＵ２１は、通信装置１２２から転送される分散情報ｄ＿１１〜１４に基づいて、認証処理を行う。このときＣＰＵ２１は、ＲＯＭ２３に格納される処理プログラムに従って、秘密情報の算出やその認証処理を実行する。このとき、処理に必要なデータは、ＲＡＭ２２に一時的に格納される。
【００４１】
上記空気圧監視システムにおける認証処理について、図６、図７を用いて説明する。認証処理では、ボディＥＣＵ２０ｂが、空気圧センサ１０＿１ｂ〜４ｂがそれぞれ有する分散情報ｄ＿１１〜１４に基づいて秘密情報Ｓ＿１〜４を求める。具体的には、ボディＥＣＵ２０ｂは、空気圧センサ１０＿１ｂ〜４ｂからそれぞれ分散情報ｄ＿１１〜１４を取得する。分散情報ｄ＿１１は、関数ｆ１（ｘ）とパラメータＸ１を含む。また、分散情報ｄ＿１２は、関数ｆ２（ｘ）とパラメータＸ２を含む。また、分散情報ｄ＿１３は、関数ｆ３（ｘ）とパラメータＸ３を含む。そして、分散情報ｄ＿１４は、関数ｆ４（ｘ）とパラメータＸ４を含む。
【００４２】
ここで、パラメータＸ１〜４（Ｘ１≠Ｘ２≠Ｘ３≠Ｘ４）は、任意に決定されるパラメータである。そして、秘密情報をＳとしたとき、関数ｆ１〜４（Ｘ）は、それぞれ次のような線形方程式である。
関数ｆ１（Ｘ）＝ａ・Ｘ＋α  （ただし、ａは任意の係数、定数項α＝Ｓ−ａ・（Ｘ２＋Ｘ３＋Ｘ４））
関数ｆ２（Ｘ）＝ｂ・Ｘ＋β  （ただし、ｂ（≠ａ）は任意の係数、定数項β＝Ｓ−ｂ・（Ｘ１＋Ｘ３＋Ｘ４））
関数ｆ３（Ｘ）＝ｃ・Ｘ＋γ  （ただし、ｃ（≠ａ、かつ≠ｂ）は任意の係数、定数項γ＝Ｓ−ｃ・（Ｘ１＋Ｘ２＋Ｘ４））
関数ｆ４（Ｘ）＝ｄ・Ｘ＋δ  （ただし、ｄ（≠ａ、≠ｂ、かつ≠ｃ）は任意の係数、定数項δ＝Ｓ−ｄ・（Ｘ１＋Ｘ２＋Ｘ３））
ボディＥＣＵ２０ｂは、空気圧センサ１０＿１ｂから取得した関数ｆ１（Ｘ）に、空気圧センサ１０＿２ｂ〜４ｂから取得したパラメータＸ２〜４の和を代入し、秘密情報Ｓ＿１を算出する。また、ボディＥＣＵ２０ｂは、空気圧センサ１０＿２ｂから取得した関数ｆ２（Ｘ）に、空気圧センサ１０＿１ｂ、１０＿３ｂ、及び１０＿４ｂから取得したパラメータＸ１、Ｘ３、及びＸ４の和を代入し、秘密情報Ｓ＿２を算出する。また、ボディＥＣＵ２０ｂは、空気圧センサ１０＿３ｂから取得した関数ｆ３（Ｘ）に、空気圧センサ１０＿１ｂ、１０＿２ｂ、及び１０＿４ｂから取得したパラメータＸ１、Ｘ２、及びＸ４の和を代入し、秘密情報Ｓ＿３を算出する。そして、ボディＥＣＵ２０ｂは、空気圧センサ１０＿４ｂから取得した関数ｆ４（Ｘ）に、空気圧センサ１０＿１〜３ｂから取得したパラメータＸ１〜Ｘ３の和を代入し、秘密情報Ｓ＿４を算出する。ここで、秘密情報Ｓ＿１〜４は、次のとおりである。
秘密情報Ｓ＿１＝ａ・（Ｘ２＋Ｘ３＋Ｘ４）＋α
秘密情報Ｓ＿２＝ｂ・（Ｘ１＋Ｘ３＋Ｘ４）＋β
秘密情報Ｓ＿３＝ｃ・（Ｘ１＋Ｘ２＋Ｘ４）＋γ
秘密情報Ｓ＿４＝ｄ・（Ｘ１＋Ｘ２＋Ｘ３）＋δ
そして、ボディＥＣＵ２０ｂは、算出した秘密情報Ｓ＿１〜４が一致し、かつ、照合用の秘密情報Ｓと一致するときに、空気圧センサ１０＿１ｂ〜４ｂが真正であると認証する。
【００４３】
ボディＥＣＵ２０ｂは、認証が成功したときには、たとえばエンジンＥＣＵにエンジン始動を許可する信号を送信する。一方、認証が成立しないときには、エンジン始動を禁止する信号を送信する。このようにすることで、非正規品の空気圧センサが用いられることで適確な空気圧監視ができなくなるといった事態を回避できる。
【００４４】
図８は、第２実施例における変形例について説明する図である。この変形例では、空気圧センサ１０＿１ｂ〜４ｂのそれぞれが、他の空気圧センサからパラメータを取得して自らの関数により秘密情報を求める点が、第２実施例と異なる。かかる動作を行うための空気圧監視システムの詳細な構成例が、図９に示される。空気圧センサ１０＿１ｂ〜４ｂは、それぞれ、分散情報ｄ＿１１〜１４を格納する記憶部３３と、記憶部３３から読み出された分散情報のうち、パラメータを無線送信する通信部３２とを有し、さらに、演算処理部３４を有する。演算処理部３４は、他の空気圧センサから取得したパラメータから、自らの関数により秘密情報を算出する。演算処理部３４は、たとえばマイクロコンピュータである。ただし、演算処理部３４は、加乗算のみを行なう簡易な演算回路をもつ安価な演算装置でよい。なお、ボディＥＣＵ２０ｂは、図５で示した構成と同じである。
【００４５】
変形例における認証処理について、図８、図９を用いて説明する。まず、空気圧センサ１０＿１ｂが、他の空気圧センサ１０＿２ｂ〜４ｂから、それぞれのパラメータＸ２〜Ｘ４を取得する。たとえば、空気圧センサ１０＿２ｂ〜４ｂは、それぞれのパラメータＸ２〜Ｘ４をボディＥＣＵ２０ｂに無線送信する。そして、ボディＥＣＵ２０ｂが、パラメータＸ２〜Ｘ４を空気圧センサ１０＿１ｂに無線送信する。次に、空気圧センサ１０＿１ｂは、自らの関数ｆ１（Ｘ）により、パラメータＸ２〜Ｘ４から秘密情報Ｓ＿１を算出する。そして、空気圧センサ１０＿１ｂは、算出した秘密情報Ｓ＿１をボディＥＣＵ２０ｂに送信する。
【００４６】
また、空気圧センサ１０＿２ｂ〜４ｂが、同様の処理を行う。たとえば、空気圧センサ１０＿２ｂは、他の空気圧センサ１０＿１ｂ、１０＿３ｂ、及び１０＿４ｂから、ボディＥＣＵ２０ｂを介してそれぞれのパラメータＸ１、Ｘ３、及びＸ４を取得する（図示省略）。そして、空気圧センサ１０＿１ｂは、自らの関数ｆ２（Ｘ）により、パラメータＸ１、Ｘ３、及びＸ４から秘密情報Ｓ＿２を算出する。そして、空気圧センサ１０＿２ｂは、算出した秘密情報Ｓ＿２をボディＥＣＵ２０ｂに送信する。さらに、空気圧センサ１０＿３ｂが、他の空気圧センサ１０＿１ｂ、１０＿２ｂ、及び１０＿４ｂから、ボディＥＣＵ２０ｂを介してそれぞれのパラメータＸ１、Ｘ２、及びＸ４を取得する（図示省略）。そして、空気圧センサ１０＿３ｂは、自らの関数ｆ３（Ｘ）により、パラメータＸ１、Ｘ２、及びＸ４から秘密情報Ｓ＿３を算出する。そして、空気圧センサ１０＿３ｂは、算出した秘密情報Ｓ＿３をボディＥＣＵ２０ｂに送信する。さらに、空気圧センサ１０＿４ｂが、他の空気圧センサ１０＿１ｂ〜３ｂから、ボディＥＣＵ２０ｂを介してそれぞれのパラメータＸ１〜Ｘ３を取得する（図示省略）。そして、空気圧センサ１０＿４ｂは、自らの関数ｆ４（Ｘ）により、パラメータＸ１〜Ｘ３から秘密情報Ｓ＿４を算出する。そして、空気圧センサ１０＿４ｂは、算出した秘密情報Ｓ＿４をボディＥＣＵ２０ｂに送信する。
【００４７】
そして、ボディＥＣＵ２０ｂは、秘密情報Ｓ＿１〜Ｓ＿４が一致し、かつ、照合用の秘密情報Ｓと一致するときに、空気圧センサ１０＿１ｂ〜４ｂを認証する。
【００４８】
この変形例では、空気圧センサ１０＿１ｂ〜４ｂは、それぞれの関数ｆ１〜４を他の空気圧センサに送信しないので、これらの情報が伝送経路上で第三者などに不正に取得されることを回避できる。また、パラメータＸ１〜４が不正に取得され、これを格納して模倣された不正な空気圧センサが車両に取り付けられたとしても、次のようにしてそのことを検出することができる。
【００４９】
図１０は、不正な空気圧センサを検出する処理について説明する図である。図１０では、図８で示した真正の空気圧センサ１０＿４ｂの代わりに、不正な空気圧センサ１０＿５ｂが取り付けられた状態が示される。不正な空気圧センサ１０＿５ｂには、模倣された不正な分散情報ｄ＿１５が格納される。分散情報ｄ＿１５は、不正に取得された空気圧センサ１０＿４ｂの真正のパラメータＸ４を含む。一方、真正の空気圧センサ１０＿４ｂの関数ｆ４（Ｘ）は、図８で示したように、他の空気圧センサに転送されることがないので不正に取得される蓋然性が低い。よって、不正な分散情報ｄ＿１５は、真正の関数ｆ４（Ｘ）とは異なる不正な関数ｆ５（Ｘ）を含むか、あるいは、関数を含まない。
【００５０】
このような状態で、不正な空気圧センサ１０＿５ｂが、他の真正の空気圧センサ１０＿１ｂ〜３ｂに対し、真正のパラメータＸ４を送信する。すると、空気圧センサ１０＿１ｂ〜３ｂによりそれぞれ求められる秘密情報Ｓ＿１〜３は互いに一致し、かつ照合用の秘密情報とも一致する。一方、不正な空気圧センサ１０＿５ｂでは、空気圧センサ１０＿１ｂ〜３ｂから送信される真正のパラメータＸ１〜Ｘ３を用いたとしても、不正な関数ｆ５（Ｘ）を用いることで、不正の秘密情報Ｓ＿５が算出される。よって、ボディＥＣＵ２０ｂは、空気圧センサ１０＿５ｂが不正な秘密情報Ｓ＿５を算出することを検出することで、空気圧センサ１０＿５ｂを不正品と判定することができる。
【００５１】
たとえば、ボディＥＣＵ２０ｂは、空気圧センサ１０＿５ｂから送信される不正な秘密情報Ｓ＿５を、真正の秘密情報Ｓ＿１〜３とマッチングさせ、不一致であることを検出する。あるいは、空気圧センサ１０＿５ｂが関数を有していなければ、秘密情報が算出されない。よって、ボディＥＣＵ２０ｂは、空気圧センサ１０＿５ｂから秘密情報が送信されないことを判定することで、空気圧センサ１０＿５ｂが不正品であることを検出できる。
【００５２】
このような変形例によれば、秘密情報Ｓ＿１〜４のいずれかが他と一致しない場合や、いずれかが欠落したときに、不正な空気圧センサを検出することができる。なお、ボディＥＣＵ２０ｂは、不正な空気圧センサを検出したときに、エンジンＥＣＵに対してエンジン始動を禁止する制御信号を送信することに加え、たとえば、不正品を検出したことを示す情報を、表示出力したり音声出力したりすることができる。このようにして、安全性を向上させることができる。
【００５３】
図１１は、第１実施形態における認証システムの動作手順例について説明するフローチャート図である。図１１に示される手順は、分散情報の生成・設定手順例である。この手順例には、分散情報生成装置１の動作手順が含まれる。分散情報生成装置１は、たとえば、図４で示したイモビライザシステムや図６で示した空気圧監視システムの製造者における上位システムである。分散情報生成装置１は、分散情報保持デバイス１０＿１〜ｎに対するパラメータＸ１〜ｎを生成する（Ｓｔｅｐ２）。そして、分散情報生成装置１は、秘密情報ＳとパラメータＸ１〜ｎ、及び変数項の係数から定数項を決定し、関数ｆ１〜ｎを決定する（Ｓｔｅｐ４）。そして、分散情報生成装置１は、関数ｆ１〜ｎとパラメータＸ１〜ｎを分散情報保持デバイス１０＿１〜ｎに配布する（Ｓｔｅｐ６）。なお、手順Ｓｔｅｐ６は、操作者により手動あるいは半自動で行われてもよい。そして、各分散情報保持デバイス１０＿１〜ｎは、それぞれの関数ｆ１〜ｎとパラメータＸ１〜ｎを格納する（Ｓｔｅｐ８）。
【００５４】
図１２は、第１実施形態における認証システムの動作手順例について説明するフローチャート図である。図１２に示される手順は、秘密情報の算出処理と、認証処理の手順例である。まず、認証を必要とする処理が要求される（Ｓｔｅｐ１０）。たとえば、イモビライザシステムの場合、または空気圧監視システムの場合には、イグニションスイッチが機械的にオンされる。そして、秘密情報を求めるために分散情報が収集される（Ｓｔｅｐ１２）。たとえば、認証デバイス２０が分散情報保持デバイス１０＿１〜ｎから関数とパラメータとを取得する。あるいは、分散情報保持デバイス１０＿１〜ｎの全て、もしくはいずれかが、他の分散情報デバイスからパラメータ、またはパラメータと関数を取得する。
【００５５】
そして、関数ごとに（またはパラメータごとに）、秘密情報Ｓ＿１〜ｎが求められる（Ｓｔｅｐ１４）。たとえば、認証デバイス２０が、分散情報保持デバイス１０＿１〜ｎから取得した関数ごとに（またはパラメータごとに）、秘密情報Ｓ＿１〜ｎを算出する。あるいは、分散情報保持デバイス１０＿１〜ｎの全て、もしくはいずれかが、他の分散情報デバイスから取得した関数ごとに（またはパラメータごとに）、秘密情報Ｓ＿１〜ｎを算出する。
【００５６】
そして、求められた全ての秘密情報Ｓ＿１〜ｎが一致しており（Ｓｔｅｐ１６のＹＥＳ）、かつ、求められた全ての秘密情報Ｓ＿１〜ｎが照合用の秘密情報Ｓと一致しているときに（Ｓｔｅｐ１８のＹＥＳ）、認証を必要とする処理を実行し（Ｓｔｅｐ２０）、処理が終了される。たとえば、手順Ｓｔｅｐ１６の判定処理は、認証デバイス２０、または秘密情報保持デバイス１０＿１〜ｎのいずれかで行われる。また、手順Ｓｔｅｐ１８の判定処理は、認証デバイス２０で行われる。また、認証を必要とする処理は、たとえば、エンジンのスタートを許可する制御信号の出力などである。
【００５７】
一方、求められた全ての秘密情報が一致していないとき（Ｓｔｅｐ１６のＮＯ）、あるいは、求められた全ての秘密情報が照合用の秘密情報と一致していないとき（Ｓｔｅｐ１８のＮＯ）には、エラー処理が実行される。エラー処理は、たとえば、エンジンのスタートを禁止する制御信号の出力、警告情報の出力などである。
【００５８】
上記のような第１実施形態によれば、セキュリティを向上させるとともに、秘密情報を求めるための演算負荷を小さくすることができる。よって、認証システムの低コスト化が可能になる。
【００５９】
[第２実施形態]
第２実施形態における認証システムは、ｎ個の分散情報デバイス群のうち、（ｎ−２）個以下の分散情報デバイスが有するパラメータから秘密情報を求めるための関数と、当該（ｎ−２）個以下の分散情報デバイスが有する関数により前記秘密情報を求めるためのパラメータとを有する親デバイスをさらに有する。
【００６０】
図１３は、第２実施形態における認証システムの構成例を示す図である。図１３は、図２で示した第１実施形態の構成例に、親デバイス１００が追加されたものである。親デバイス１００は、たとえば、分散情報保持デバイス１０＿２が有するパラメータＸ２から秘密情報Ｓを求めるための関数Ｆ（Ｘ）を有する。関数Ｆ（Ｘ）は、たとえば、次のような線形方程式である。
関数Ｆ（Ｘ）＝ｍ・Ｘ＋θ  （ただしｍは任意の係数、定数項θ＝Ｓ−ｍ・Ｘ２）
また、親デバイス１００は、分散情報保持デバイス１０＿２が有する関数ｆ２（Ｘ）から秘密情報Ｓを求めるためのパラメータＸ１＋Ｘ３を有する。
【００６１】
第１実施形態では、図２で示したように、分散情報保持デバイス１０＿１〜３が有する関数ｆ１（Ｘ）〜ｆ３（Ｘ）ごとに秘密情報Ｓ＿１〜３を求めるには、他の２つの分散情報保持デバイスが有するパラメータを用いた。これに対し、第２実施形態では、親デバイス１００が有する関数Ｆ（Ｘ）を用いることで、１つの分散情報保持デバイス１０＿２が有するパラメータＸ２のみから秘密情報ｍＳを求めることができる。また、親デバイス１００が有するパラメータ（Ｘ１＋Ｘ３）を用いることで、分散情報保持デバイス１０＿２が有する関数ｆ２（Ｘ）から秘密情報Ｓ＿２を求めることができる。そして、秘密情報ｍＳと秘密情報Ｓ＿２が一致することで、分散情報保持デバイス１０＿２の認証が行われる。
【００６２】
すなわち、親デバイス１００は、分散情報保持デバイス１０＿１〜３のそれぞれより少ない数の分散情報デバイスと協働することで認証を可能にする。換言すれば、親デバイス１００だけで、分散情報保持デバイス１０＿１及び３と同等の機能を有する。よって、親デバイス１００は、分散情報保持デバイス１０＿１〜３より上位の権限を有する。このようにして、親デバイス１００と分散情報保持デバイス１０＿１〜３を階層化することができる。
【００６３】
第２実施形態の認証システムは、たとえば次のようなシステムに適用される。
【００６４】
図１４は、認証システムがイモビライザシステムに適用される第３実施例を示す図である。このイモビライザシステムでは、分散情報保持デバイス１０＿１〜ｎは、電子キー１０＿１ｄ、安全制御装置１０＿２ｄ、及び免許証１０＿３ｄである。安全制御装置１０＿２ｄは、たとえば、速度制御機能を有するＥＣＵである。また、認証デバイス２０は、エンジンＥＣＵ２０ｄである。そして、親デバイス１００は、上位キー１００ｄである。
【００６５】
電子キー１０＿１ｄ、安全制御装置１０＿２ｄ、及び免許証１０＿３ｄには、分散情報生成装置１により生成された分散情報が格納される。たとえば、電子キー１０＿１ｄは、関数ｆ１（Ｘ）とパラメータＸ１を有する。また、安全制御装置１０＿２ｄは、関数ｆ２（Ｘ）とパラメータＸ２を有する。そして、免許証１０＿３ｄは、関数ｆ３（Ｘ）とパラメータＸ３を有する。
【００６６】
エンジンＥＣＵ２０ｄは、電子キー１０＿１ｄ、安全制御装置１０＿２ｄ、及び免許証１０＿３ｄからそれぞれ取得する関数ｆ１（Ｘ）〜ｆ３（Ｘ）と、パラメータＸ１〜３により、次のような秘密情報Ｓ＿１〜３を算出する。
秘密情報Ｓ＿１＝ｆ１（Ｘ２＋Ｘ３）
秘密情報Ｓ＿２＝ｆ２（Ｘ１＋Ｘ３）
秘密情報Ｓ＿３＝ｆ３（Ｘ１＋Ｘ２）
そして、エンジンＥＣＵ２０ｄは、秘密情報Ｓ＿１〜３が互いに一致し、かつ照合用秘密情報Ｓと一致するときに、電子キー１０＿１ｄ、安全制御装置１０＿２ｄ、及び免許証１０＿３ｄを認証して、エンジン始動を許可する。
【００６７】
上位キー１００ｄには、分散情報生成装置１により生成された分散情報が格納される。たとえば、上位キー１００ｄは、安全制御装置１０＿２ｄのパラメータＸ２のみから秘密情報ｍＳを求める関数Ｆ（Ｘ）と、安全制御装置１０＿２ｄの関数ｆ２（Ｘ）により秘密情報Ｓ＿２を求めるためのパラメータ（Ｘ１＋Ｘ３）を有する。上位キー１００ｄは、たとえばカーディーラーに保管される。
【００６８】
上位キー１００ｄは、たとえば、電子キー１０＿１ｄと免許証１０＿３ｄのいずれか一方または両方を紛失したような場合に、用いられる。エンジンＥＣＵ２０ｄは、上位キー１００ｄと安全制御装置１０＿２ｄからそれぞれ関数Ｆ（Ｘ）、ｆ２（Ｘ）と、パラメータ（Ｘ１＋Ｘ３）とＸ２を取得する。そして、エンジンＥＣＵ２０ｄは、次のような秘密情報ｍＳと、Ｓ＿２を算出する。
秘密情報ｍＳ＝Ｆ（Ｘ２）
秘密情報Ｓ＿２＝ｆ２（Ｘ１＋Ｘ３）
そして、エンジンＥＣＵ２０ｄは、秘密情報ｍＳとＳ＿２が互いに一致し、かつ照合用秘密情報Ｓと一致するときに、認証を行い、エンジン始動を許可する。
【００６９】
このように、第３実施例によれば、電子キー１０＿１ｄ、安全制御装置１０＿２ｄ、及び免許証１０＿３ｄの全てがそろわなくても、上位キー１００ｄを用いることでエンジンを始動させることができる。よって、通常の使用時におけるセキュリティを確保しつつ、電子キー１０＿１ｄや免許証１０＿３ｄの紛失時であってもエンジンを始動できるので、利便性が向上する。
【００７０】
図１５は、認証システムがカーナビゲーションシステムに適用される第４実施例を示す図である。このナビゲーションシステムは、サービス提供者のサーバからダウンロードしたソフトウェアの使用権限を認証する。ダウンロードされるソフトウェアは、たとえば、地図情報を有する観光ガイドアプリケーションなどである。
【００７１】
このナビゲーションシステムでは、分散情報生成装置１が、分散情報を生成するとともに、ダウンロード用のソフトウェア５０を有する。分散情報生成装置１は、図示を省略する公衆通信回線網に接続される。よって、ナビゲーション装置５２が公衆通信回線網に接続することで、分散情報生成装置１からナビゲーション装置５２にソフトウェア５０がダウンロードされる。
【００７２】
また、このナビゲーションシステムでは、分散情報保持デバイス１０＿１〜ｎは、第１の可搬性メモリ１０＿１ｅ、パスワード管理モジュール１０＿２ｅ、及び第２の可搬性メモリ１０＿３ｅである。可搬性メモリ１０＿１ｅ、１０＿３ｅは、たとえばＵＳＢメモリ、メモリカードなどである。パスワード管理モジュール１０＿２ｅは、たとえば、ナビゲーション装置５２内に設けられ、ユーザが入力するパスワードに基づき分散情報を復号する。また、認証デバイス２０ｅは、たとえばナビゲーション装置５２内に設けられる。認証デバイス２０ｅは、たとえば、ソフトウェア５０をダウンロードして実行するモジュールに設けられる。そして、親デバイス１００は、第３の可搬性メモリ１００ｅである。可搬性メモリ１００ｅは、たとえば、ＵＳＢメモリやメモリカードである。
【００７３】
可搬性メモリ１０＿１ｅ、パスワード管理モジュール１０＿２ｅには、分散情報生成装置１により生成された分散情報が格納される。たとえば、可搬性メモリ１０＿１ｅは、関数ｆ１（Ｘ）とパラメータＸ１を有する。たとえば、公衆通信回線網を介して分散情報生成装置１に接続されるパーソナルコンピュータにより、関数ｆ１（Ｘ）とパラメータＸ１が取得され、可搬性メモリ１０＿１ｅに格納される。
【００７４】
また、パスワード管理モジュール１０＿２ｅは、関数ｆ２（Ｘ）とパラメータＸ２を有する。関数ｆ２（Ｘ）とパラメータＸ２は、分散情報生成装置１から、ソフトウェア５０の一部としてダウンロードされる。パスワード管理モジュール１０＿２ｅは、ユーザがナビゲーション装置５２に対して入力するパスワードから、関数ｆ２（Ｘ）とパラメータＸ２を復号して保持する。
【００７５】
可搬性メモリ１０＿３ｅは、関数ｆ３（Ｘ）とパラメータＸ３を有する。たとえば、公衆通信回線網を介して分散情報生成装置１に接続されるパーソナルコンピュータにより、関数ｆ３（Ｘ）とパラメータＸ３が取得され、可搬性メモリ１０＿３ｅに格納される。あるいは、可搬性メモリ１０＿３ｅは、たとえば認証デバイス２０ｅから関数ｆ３（Ｘ）とパラメータＸ３を取得する。認証デバイス２０ｅは、たとえば、ダウンロードされたソフトウェア５０に従って、ナビゲーション装置５２の機体番号などの固有番号に基づき関数ｆ３（Ｘ）とパラメータＸ３を生成する。この場合、生成されたパラメータＸ３は、分散情報生成装置１にアップロードされて先の関数ｆ１（Ｘ）とパラメータＸ１を生成するために、分散情報生成装置１に保持される。
【００７６】
一方、可搬性メモリ１００ｅには、分散情報生成装置１により生成された関数Ｆ（Ｘ）とパラメータ（Ｘ１＋Ｘ３）が格納される。たとえば、公衆通信回線網を介して分散情報生成装置１に接続されるパーソナルコンピュータにより、関数Ｆ（Ｘ）とパラメータ（Ｘ１＋Ｘ３）が取得され、可搬性メモリ１００ｅに格納される。関数Ｆ（Ｘ）によれば、パスワード管理モジュール１０＿２ｅのパラメータＸ２のみから秘密情報ｍＳが求められる。また、パラメータ（Ｘ１＋Ｘ３）から、パスワード管理モジュール１０＿２ｅの関数ｆ２（Ｘ）により秘密情報Ｓ＿２が求められる。
【００７７】
認証デバイス２０ｅは、ナビゲーション装置５２に接続される可搬性メモリ１０＿１ｅ、ユーザのパスワード入力に基づき関数ｆ２（Ｘ）とパラメータＸ２を生成するパスワード管理モジュール１０＿２ｅ、及びナビゲーション装置５２に接続される可搬性メモリ１０＿３ｅからそれぞれ関数ｆ１（Ｘ）〜ｆ３（Ｘ）と、パラメータＸ１〜３を取得して、次のような秘密情報Ｓ＿１〜３を算出する。
秘密情報Ｓ＿１＝ｆ１（Ｘ２＋Ｘ３）
秘密情報Ｓ＿２＝ｆ２（Ｘ１＋Ｘ３）
秘密情報Ｓ＿３＝ｆ３（Ｘ１＋Ｘ２）
そして、認証デバイス２０ｅは、秘密情報Ｓ＿１〜３が互いに一致し、かつ照合用秘密情報Ｓと一致するときに、可搬性メモリ１０＿１ｅ、パスワード管理モジュール１０＿２ｅ、及び可搬性メモリ１０＿３ｅを認証して、ソフトウェア５０の実行を許可する。あるいは、認証デバイス２０ｅは、可搬性メモリ１００ｅとパスワード管理モジュール１０＿２ｅからそれぞれ関数Ｆ（Ｘ）、ｆ２（Ｘ）と、パラメータ（Ｘ１＋Ｘ３）とＸ２を取得する。そして、認証デバイス２０ｅは、次のような秘密情報ｍＳ、Ｓ＿２を算出する。
秘密情報ｍＳ＝Ｆ（Ｘ２）
秘密情報Ｓ＿２＝ｆ２（Ｘ１＋Ｘ３）
そして、認証デバイス２０ｅは、秘密情報ｍＳとＳ＿２が互いに一致し、かつ照合用秘密情報Ｓと一致するときに、認証を行い、ソフトウェア５０の実行を許可する。
【００７８】
このようなナビゲーションシステムは、たとえば、ソフトウェア５０の試用期間中は、可搬性メモリ１００ｅとパスワード認証モジュール１０＿２ｅによるパスワード認証とにより、ソフトウェア５０の実行を許可する。ソフトウェア５０を試用するユーザは、たとえばパーソナルコンピュータにより、公衆通信回線網経由で、分散情報生成装置１から関数Ｆ（Ｘ）とパラメータ（Ｘ１＋Ｘ３）を取得して、可搬性メモリ１００ｅに格納する。
【００７９】
そして、ソフトウェア５０の試用期間経過後は、可搬性メモリ１００ｅの関数Ｆ（Ｘ）がソフトウェア５０により無効化される。それとともに、可搬性メモリ１０＿１ｅに格納する分散情報、つまりライセンスの購入を、ユーザに促す。ライセンスを購入するユーザは、たとえばパーソナルコンピュータにより、公衆通信回線網経由で、分散情報生成装置１から関数ｆ１（Ｘ）とパラメータＸ１を取得（購入）して、可搬性メモリ１０＿１ｅに格納する。そして、ユーザがライセンスを購入した後は、可搬性メモリ１０＿１ｅ、パスワード認証モジュール１０＿２ｅ、及び可搬性メモリ１０＿３ｅの全てが認証されたときに、ソフトウェア５０の実行が許可される。
【００８０】
このように、第４実施例によれば、ソフトウェア５０の試用期間中は、使用のための条件を緩くしておきユーザの購買意欲を喚起できる。使用期間経過後には、使用のための条件を厳しくすることで、ライセンスを購入したユーザに、高いセキュリティを提供することができるので、利便性が向上する。
【００８１】
図１６は、第２実施形態における認証システムの動作手順例について説明するフローチャート図である。図１６（Ａ）に示される手順は、分散情報の生成・設定手順例である。分散情報生成装置１は、分散情報保持デバイス１０＿１〜ｎに対するパラメータＸ１〜ｎを生成する（Ｓｔｅｐ１０２）。そして、分散情報生成装置１は、秘密情報ＳとパラメータＸ１〜ｎ、及び変数項の係数から定数項を決定し、関数ｆ１〜ｎを決定する（Ｓｔｅｐ１０４）。
【００８２】
そして、分散情報生成装置１は、図１６（Ｂ）に示されるような階層定義テーブルＴＢＬに従い、親デバイス用の関数Ｆ（Ｘ）を生成する（Ｓｔｅｐ１０５）。階層定義テーブルＴＢＬでは、たとえば、分散情報保持デバイス１０＿１〜ｎごとに、パラメータの数で階層が定義される。たとえば、分散情報保持デバイス１０＿１〜３は、それぞれ１つのパラメータを有するが、親デバイス１００は２つのパラメータＸ１、Ｘ３の和を有する。よって、親デバイス１００が、分散情報保持デバイス１０＿１〜３より上位の階層として定義される。かかる階層テーブルＴＢＬは、たとえば分散情報生成装置１内部の記憶装置に格納される。
【００８３】
そして、関数ｆ１〜ｎとパラメータＸ１〜ｎが、分散情報保持デバイス１０＿１〜ｎに配布されるとともに、関数Ｆ（Ｘ）と親デバイスのパラメータ（たとえばＸ１、Ｘ３の和）が、親デバイス１００に配布される（Ｓｔｅｐ１０６）。そして、各分散情報保持デバイス１０＿１〜ｎは、それぞれの関数ｆ１〜ｎとパラメータＸ１〜ｎを、親デバイス１００は、関数Ｆ（Ｘ）と親デバイスのパラメータ（たとえばＸ１、Ｘ３の和）を格納する（Ｓｔｅｐ１０８）。
【００８４】
図１７は、第２実施形態において、親デバイスを用いたときの認証処理の動作手順例について説明するフローチャート図である。まず、認証を必要とする処理が要求される（Ｓｔｅｐ１１０）。たとえば、イモビライザシステムの場合には、イグニションスイッチが機械的にオンされる。あるいは、ナビゲーションシステムの場合には、ナビゲーション機能が起動される。
【００８５】
そして、秘密情報を求めるために分散情報が収集される（Ｓｔｅｐ１１２）。たとえば、認証デバイス２０が親デバイス１００と分散情報保持デバイス１０＿２から関数とパラメータとを取得する。そして、関数ごとに、秘密情報が求められる（Ｓｔｅｐ１１４）。たとえば、認証デバイス２０が、親デバイスから取得した関数Ｆ（Ｘ）により秘密情報ｍＳを算出し、分散情報保持デバイス１０＿２から取得した関数ｆ２（Ｘ）により秘密情報Ｓ＿２を算出する。
【００８６】
そして、求められた秘密情報が一致しており（Ｓｔｅｐ１１６のＹＥＳ）、かつ、求められた秘密情報が照合用の秘密情報Ｓと一致しているときに（Ｓｔｅｐ１１８のＹＥＳ）、認証を必要とする処理を実行し（Ｓｔｅｐ１２０）、処理が終了される。たとえば、認証デバイス２０が、手順Ｓｔｅp１１６，１１８の判定処理を行う。
【００８７】
また、認証を必要とする処理は、たとえば、エンジンのスタートを許可する制御信号の出力や、ソフトウェアの実行などである。一方、求められた全ての秘密情報が一致していないとき（Ｓｔｅｐ１１６のＮＯ）、あるいは、求められた全ての秘密情報が照合用の秘密情報と一致していないとき（Ｓｔｅｐ１１８のＮＯ）には、エラー処理が実行される。エラー処理は、たとえば、エンジンのスタートを禁止する制御信号の出力や、ソフトウェアの実行中止などである。
【００８８】
上記のような第２実施形態によれば、認証システムにおいて、分散情報保持デバイスを階層化することができ、ユーザの利便性が向上する。
【００８９】
以上の実施の形態をまとめると、次の付記のとおりである。
【００９０】
（付記１）
それぞれが異なる関数と異なるパラメータとを有するデバイス群と、
前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システム。
【００９１】
（付記２）
付記１において、
前記認証デバイスは、さらに、前記求められた秘密情報群が記憶装置に格納された秘密情報と一致することを条件に、前記デバイス群を認証する認証システム。
【００９２】
（付記３）
付記１において、
前記認証デバイスは、前記デバイス群の各デバイスから前記関数と前記パラメータを取得して、前記秘密情報を求める処理を前記デバイス群の各デバイスについて実行する認証システム。
【００９３】
（付記４）
付記１において、
前記デバイス群の各デバイスは、他のデバイスから前記パラメータを取得して、当該取得したパラメータと自らの前記関数とを用いて前記秘密情報を求め、当該求めた秘密情報を前記認証デバイスに転送する認証システム。
【００９４】
（付記５）
付記１において、
前記デバイス群に含まれるデバイスの個数をｎとして、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外の（ｎ−１）個のデバイスが有する前記パラメータから前記秘密情報が求められ、
（ｎ−２）個以下のデバイスが有する前記パラメータから前記秘密情報を求めるための関数と、当該（ｎ−２）個以下のデバイスが有する関数により前記秘密情報が求めるためのパラメータとを有する親デバイスをさらに有し、
前記認証デバイスは、前記親デバイスが有する前記関数と前記（ｎ−２）個以下のデバイスが有する前記パラメータから求められた秘密情報と、前記親デバイスが有する前記パラメータと前記（ｎ−２）個以下のデバイスが有する前記関数から求められた秘密情報とが一致するときに、前記（ｎ−２）個以下のデバイスを認証する認証システム。
【００９５】
（付記６）
付記１において、
前記デバイス群に分配するための前記関数群と前記パラメータ群とを前記秘密情報に基づいて生成する生成装置をさらに有する認証システム。
【００９６】
（付記７）
付記１乃至６のいずれかにおいて、
前記デバイス群の各デバイスが有する前記関数は、他のデバイスが有する前記パラメータが代入されて前記秘密情報が求められる線形方程式である認証システム。
【００９７】
（付記８）
それぞれが異なる関数と異なるパラメータとを有するデバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから秘密情報を求め、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から秘密情報を求め、
前記求められた秘密情報群が一致するときに前記デバイス群を認証する、認証方法。
【符号の説明】
【００９８】
１：分散情報生成装置、１０＿ｎ：分散情報保持デバイス、２０：認証デバイス、
１００：親デバイス
【図１】
0005644453.tif 000002
【図２】
0005644453.tif 000003
【図３】
0005644453.tif 000004
【図４】
0005644453.tif 000005
【図５】
0005644453.tif 000006
【図６】
0005644453.tif 000007
【図７】
0005644453.tif 000008
【図８】
0005644453.tif 000009
【図９】
0005644453.tif 000010
【図１０】
0005644453.tif 000011
【図１１】
0005644453.tif 000012
【図１２】
0005644453.tif 000013
【図１３】
0005644453.tif 000014
【図１４】
0005644453.tif 000015
【図１５】
0005644453.tif 000016
【図１６】
0005644453.tif 000017
【図１７】
0005644453.tif 000018