認証システム、及び認証方法
【課題】分散された情報から秘密情報算出のための演算負荷を小さくする。
【解決手段】それぞれが異なる関数と異なるパラメータとを有するデバイス群と、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システムにより、秘密情報算出のための演算処理負荷を小さくする。
【解決手段】それぞれが異なる関数と異なるパラメータとを有するデバイス群と、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システムにより、秘密情報算出のための演算処理負荷を小さくする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システム、及び認証方法に関する。
【背景技術】
【0002】
協働する複数のデバイスが真正か否かを認証する認証システムにおいて、セキュリティを向上させるための方法が提案されている。その一つとして、秘密分散法があげられる(たとえば、特許文献1〜4)。秘密分散法では、秘密情報を求めるための情報を分散し、分散情報として複数のデバイス(以下、分散情報保持デバイス)に保持させる。秘密情報は、たとえばX−Y座標平面における線形方程式のY切片として規定される。この場合、線形方程式上の複数の点のX−Y座標が分散情報である。この方法では、少なくとも2つの分散情報保持デバイスからそれぞれの分散情報を収集し、収集した分散情報から線形方程式が求められる。そして、線形方程式の切片である秘密情報が求められる。そして、求めた秘密情報の正否に基づき、分散情報保持デバイスの認証が行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−212089号公報
【特許文献2】特開2004−274320号公報
【特許文献3】特開2004−343816号公報
【特許文献4】特開2005−130404号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような認証システムは、たとえば、車両用のセキュリティシステムなどに用いることができる。車両用のセキュリティシステムでは、分散情報は、たとえば電子キーや運転者が携行するICカードなどに保持される。車両用のセキュリティシステムには、セキュリティの向上が求められる一方で、低コスト化が求められる。
【0005】
一方で、上記のような秘密分散法では、分散情報から線形方程式を求めるために、除算を行う必要がある。たとえば、点(x1,y1)と点(x2,y2)を通過し、秘密情報Sを切片とする直線は、次の式で表わされる。
y=[(y2−y1)/(x2−x1)]・x+S
すると、秘密情報Sは、次のように求められる。
秘密情報S=(x2・y1−x1・y2)/(x2−x1)
しかしここで、秘密情報Sを求めるためには除算が必要とされるところ、除算は加減算や乗算より演算処理の負荷が大きい。よって、秘密情報を求めるためのデバイスには、ある程度以上の演算処理能力が求められる。このことは、セキュリティシステムの低コスト化を阻害する要因となる。
【0006】
そこで、本発明の目的は、セキュリティを向上させるとともに、秘密情報算出のための演算負荷が小さく、低コスト化が可能な認証システムを提供することにある。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明の第1の側面における認証システムは、それぞれが異なる関数と異なるパラメータとを有するデバイス群と、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する。
【発明の効果】
【0008】
以下の実施形態によれば、セキュリティを向上させるとともに、秘密情報算出のための演算処理負荷を小さくすることができる。
【図面の簡単な説明】
【0009】
【図1】分散情報保持デバイスの数を2個としたときの認証システムの構成例を示す図である。
【図2】分散情報保持デバイスの数を3個としたときの認証システムの構成例を示す図である。
【図3】図2の変形例を示す図である。
【図4】第1実施例について説明する図である。
【図5】イモビライザシステムの詳細な構成例である。
【図6】第2実施例について説明する図である。
【図7】空気圧監視システムの詳細な構成例を示す図である。
【図8】第2実施例における変形例について説明する図である。
【図9】空気圧監視システムの詳細な構成例を示す図である。
【図10】不正な空気圧センサを検出する処理について説明する図である。
【図11】第1実施形態における認証システムの動作手順例について説明するフローチャート図である。
【図12】第1実施形態における認証システムの動作手順例について説明するフローチャート図である。
【図13】第2実施形態における認証システムの構成例を示す図である。
【図14】第3実施例を示す図である。
【図15】第4実施例を示す図である。
【図16】親デバイスを用いたときの認証システムの動作手順例について説明するフローチャート図である。
【図17】第2実施形態における認証処理の動作手順例について説明するフローチャート図である。
【発明を実施するための形態】
【0010】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0011】
[第1実施形態]
第1実施形態における認証システムは、分散情報保持デバイス群と、これらを認証する認証デバイスとを有する。
【0012】
図1は、分散情報保持デバイスの数を2個としたときの認証システムの構成例を示す図である。たとえば、この認証システムは、分散情報保持デバイス10_1、10_2と、認証デバイス20とを有し、さらに、分散情報保持デバイス10_1、10_2が保持する分散情報を生成する分散情報生成装置1を有する。
【0013】
分散情報保持デバイス10_1は、分散情報として、関数f1(X)とパラメータX1とを有する。一方、分散情報保持デバイス10_2は、分散情報として、関数f2(X)とパラメータX2(≠X1)とを有する。関数f1(X)とパラメータX1、及び関数f2(X)とパラメータX2は、分散情報生成装置1により、たとえば、次のようにして生成され、分散情報保持デバイス10_1、10_2に配布される。
【0014】
まず、分散情報生成装置1は、任意のパラメータX1、X2を生成する。そして、秘密情報をSとしたとき、分散情報生成装置1は、関数f1(X)における変数項の任意の係数aを決定し、また、関数f2(X)における変数項の任意の係数b(≠a)を決定する。そして、分散情報生成装置1は、次のような線形方程式で表わされる関数f1(X)、f2(X)を生成する。
関数f1(X)=a・X+α(ただし、定数項α=S−a・X2)
関数f2(X)=b・X+β(ただし、定数項β=S−b・X1)
この認証システムでは、2個の分散情報保持デバイス10_1、10_2のうち、一の分散情報保持デバイスが有する関数と他の分散情報保持デバイスが有するパラメータから、秘密情報Sを関数ごとに求める処理が実行される。かかる処理は、たとえば、認証デバイス20により行われる。認証デバイス20は、分散情報保持デバイス10_1からパラメータX1と関数f1(X)を取得し、分散情報保持デバイス10_2からパラメータX2と関数f2(X)を取得する。そして、認証デバイス20は、たとえば、関数f1(X)にパラメータX2を代入して秘密情報S_1(以下の説明では、便宜上、関数fn(n=1、2、・・・)ごとに求めた秘密情報をS_nとする)を求め、関数f2(X)にパラメータX1を代入して秘密情報S_2を求める。ここにおいて、秘密情報S_1、S_2は、次のとおりである。
秘密情報S_1=a・X2+α
秘密情報S_2=b・X1+β
そして、認証デバイス20は、求めた秘密情報S_1、S_2が一致するときに、分散情報デバイス10_1、10_2を認証する。さらに別の例では、秘密情報S_1、S_2が互いに一致し、かつ、照合用の秘密情報Sと一致するときに、認証デバイス20は、分散情報デバイス10_1、10_2を認証する。照合用の秘密情報Sは、たとえば認証デバイス20外部の記憶装置に格納される。
【0015】
なお、秘密情報S_1、S_2を求める処理の別の例では、分散情報保持デバイス10_1(または10_2)が秘密情報S_1、S_2を求める処理を行う。たとえば、分散情報保持デバイス10_1(または10_2)が、分散情報デバイス10_2(または10_1)から関数f2(X)(またはf1(X))とパラメータX2(またはX1)を取得して、秘密情報S_1、S_2を求める。また、別の例では、分散情報保持デバイス10_1、10_2の両方が、それぞれ他方からパラメータX2、X1を取得して、自らの関数f1(X)、f2(X)により秘密情報S_1、S_2を求める。
【0016】
また、認証処理の別の例では、分散情報保持デバイス10_1または10_2が、求めた秘密情報S_1、S_2を認証デバイス20に送り、認証デバイス20が秘密情報S_1、S_2の一致・不一致を判定して認証を行う。また、別の例では、分散情報保持デバイス10_1または10_2が、求めた秘密情報S_1、S_2の一致・不一致を判定してその判定結果を認証デバイス20に送り、その判定結果に基づいて認証デバイス20が認証を行う。
【0017】
図2は、分散情報保持デバイスの数を3個としたときの認証システムの構成例を示す図である。たとえば、この認証システムは、分散情報保持デバイス10_1、10_2、及び10_3と、認証デバイス20とを有し、さらに、分散情報生成装置1を有する。分散情報保持デバイス10_1は、関数f1(X)とパラメータX1とを有する。また、分散情報保持デバイス10_2は、関数f2(X)とパラメータX2(≠X1)とを有する。そして、分散情報保持デバイス10_3は、関数f3(X)とパラメータX3(≠X1、かつ≠X2)とを有する。
【0018】
関数f1(X)とパラメータX1、関数f2(X)とパラメータX2、及び関数f3(X)とパラメータX3は、分散情報生成装置1により、たとえば、次のようにして生成され、分散情報保持デバイス10_1、10_2、及び10_3に配布される。
【0019】
まず、分散情報生成装置1は、任意のパラメータX1、X2、及びX3を生成する。そして、秘密情報をSとしたとき、分散情報生成装置1は、関数f1(X)における変数項の任意の係数aを決定し、また、関数f2(X)における変数項の任意の係数b(≠a)を決定し、さらに、関数f3(X)における変数項の任意の係数c(≠a、かつ≠b)を決定する。そして、分散情報生成装置1は、次のような線形方程式で表わされる関数f1(X)、f2(X)、及びf3(X)を生成する。
関数f1(X)=a・X+α (ただし、定数項α=S−a・(X2+X3))
関数f2(X)=b・X+β (ただし、定数項β=S−b・(X1+X3))
関数f3(X)=c・X+γ (ただし、定数項γ=S−c・(X1+X2))
この認証システムでは、3個の分散情報保持デバイス10_1、10_2、及び10_3のうち、1つの分散情報保持デバイスが有する関数とそれ以外の2つの分散情報保持デバイスが有するパラメータから秘密情報を求める処理が、各関数について実行される。かかる処理は、たとえば、認証デバイス20により行われる。
【0020】
認証デバイス20は、分散情報保持デバイス10_1からパラメータX1と関数f1(X)を取得し、分散情報保持デバイス10_2からパラメータX2と関数f2(X)を取得し、分散情報保持デバイス10_3からパラメータX3と関数f3(X)を取得する。そして、認証デバイス20は、関数f1(X)にパラメータX2とX3の和を代入して秘密情報S_1を求める。また、認証デバイス20は、関数f2(X)にパラメータX1とX3の和を代入して秘密情報S_2を求める。そして、認証デバイス20は、関数f3(X)にパラメータX1とX2の和を代入して秘密情報S_3をそれぞれ求める。ここにおいて、秘密情報S_1〜3は、次のとおりである。
秘密情報S_1=a・(X2+X3)+α
秘密情報S_2=b・(X1+X3)+β
秘密情報S_3=c・(X1+X2)+γ
そして、認証デバイス20は、求められた秘密情報S_1〜3が一致するときに分散情報デバイス10_1〜3を認証する。たとえば、認証デバイス20は、自ら求めた秘密情報S_1〜3が一致するときに認証を行う。さらに、別の例では、認証デバイス20は、秘密情報S_1〜3が一致し、かつ照合用の秘密情報Sと一致するときに認証を行う。
【0021】
なお、秘密情報S_1〜3を求める処理の別の例では、分散情報保持デバイス10_1〜3のいずれかが他の2つの分散情報保持デバイスから関数とパラメータを取得して、秘密情報S_1〜3を求める。また、別の例では、分散情報保持デバイス10_1〜3のそれぞれが他の2つの分散情報保持デバイスからパラメータを取得して、自らの関数f1〜3(X)により秘密情報S_1〜3を求める。
【0022】
また、認証処理の別の例では、分散情報保持デバイス10_1、10_2、または10_3が、求めた秘密情報S_1〜3を認証デバイス20に転送し、認証デバイス20が秘密情報S_1〜3の一致・不一致を判定して認証を行う。また、別の例では、分散情報保持デバイス10_1、10_2、または10_3が、求めた秘密情報S_1〜3の一致・不一致を判定してその判定結果を認証デバイス20に転送し、その判定結果に基づいて認証デバイス20が認証を行う。
【0023】
図3は、図2の変形例を示す図である。この変形例では、分散情報保持デバイスのうち一の分散情報保持デバイスが有するパラメータと、それ以外の分散情報保持デバイスが有する関数から秘密情報をパラメータごとに求める処理が行われる。ここでは、関数f1(X)とパラメータX1、関数f2(X)とパラメータX2、及び関数f3(X)とパラメータX3は、たとえば、分散情報生成装置1により、次のようにして生成される。
【0024】
まず、分散情報生成装置1は、任意のパラメータX1、X2、及びX3を生成する。そして、秘密情報をSとしたとき、分散情報生成装置1は、任意の定数a、b(≠a)、及びc(≠a、かつ≠b)を決定する。そして、分散情報生成装置1は、次のような線形方程式を示す関数f1(X)、f2(X)、及びf3(X)を生成する。そして、分散情報生成装置1は、次のような定数項α、β、及びγを生成する。
定数項α=(S+(b+c)・X1−(a+c)・X2−(a+b)・X3)/2
定数項β=(S−(b+c)・X1+(a+c)・X2−(a+b)・X3)/2
定数項γ=(S−(b+c)・X1−(a+c)・X2+(a+b)・X3)/2
そして、分散情報生成装置1は、次のような線形方程式により表わされる関数f1(X)、f2(X)、及びf3(X)を生成する。
関数f1(X)=a・X+α
関数f2(X)=b・X+β
関数f3(X)=c・X+γ
そして、たとえば、認証デバイス20は、分散情報保持デバイス10_1が有するパラメータX1を、分散情報保持デバイス10_2が有する関数f2(X)と分散情報保持デバイス10_3が有する関数f3(X)の和に代入することで、秘密情報S_1を求める。また、認証デバイス20は、分散情報保持デバイス10_2が有するパラメータX2を、分散情報保持デバイス10_1が有する関数f1(X)と分散情報保持デバイス10_3が有する関数f3(X)の和に代入することで、秘密情報S_2を求める。そして、認証デバイス20は、分散情報保持デバイス10_3が有するパラメータX3を、分散情報保持デバイス10_1が有する関数f1(X)と分散情報保持デバイス10_2が有する関数f2(X)の和に代入することで、秘密情報S_3を求める。ここにおいて、秘密情報S_1〜3は、次のとおりである。
秘密情報S_1=f2(X1)+f3(X1)=(b+c)・X1+β+γ
秘密情報S_2=f1(X2)+f3(X2)=(a+c)・X2+α+γ
秘密情報S_3=f1(X3)+f2(X3)=(a+b)・X3+α+β
なお、この処理は、図2の場合と同様に、認証デバイス20の代わりに、分散情報保持デバイス10_1〜3のいずれかにおいて行ってもよい。そして、認証デバイス20は、図2の場合と同様に、求められた秘密情報S_1〜3が一致するときに、分散情報デバイス10_1〜3を認証する。
【0025】
図1〜図3で示したように、第1実施形態における認証システムは、それぞれが異なる関数と異なるパラメータとを有するn個(n=2、3、4、・・・)の分散情報保持デバイス10_1〜nを有する。そして、一の分散情報保持デバイスが有する関数(またはパラメータ)と他の(n−1)個の分散情報保持デバイスが有するパラメータ(または関数)から秘密情報S_1〜nを求める処理が、関数(パラメータ)ごとに行われる。そして、秘密情報S_1〜nが一致するときに、分散情報保持デバイス10_1〜nの認証が行われる。
【0026】
そして、図1〜図3の例では、秘密情報S_1〜nを求めるとき、加算と乗算とが行われ、除算は行われることがない。よって、秘密情報を求めるための演算回路の構成は、除算を行うための回路より簡易な構成とすることができる。よって、たとえば、複数の座標位置を通過する線形方程式を求める分散秘密方法の例と比較したとき、より簡易な演算処理が可能となる。よって、より簡易な回路構成で認証システムを構成でき、低コスト化が可能になる。
【0027】
第1実施形態における認証システムは、たとえば次のようなシステムに適用される。
【0028】
図4は、第1実施形態の認証システムが適用される第1実施例について説明する図である。第1実施例では、認証システムは、イモビライザシステムに適用される。第1実施例では、分散情報保持デバイス群は、免許証10_1aと電子キー10_2aである。免許証10_1aは、たとえばICカードである。免許証10_1aは、関数f1(x)とパラメータX1とを含む分散情報d_1を有する。電子キー10_2aは、たとえば機械式の車両キーに備えられる。電子キー10_2aは、関数f2(x)とパラメータX2とを含む分散情報d_2を有する。
【0029】
認証デバイス20は、たとえばエンジンECU(Electronic Control Unit)20aである。エンジンECU20aには、読取装置11と、イグニションスイッチ12とが、車載LAN(Local Area Network)13を介して接続される。また、エンジンECU20aには、記憶装置201が接続される。読取装置11は、たとえばICカードリーダである。読取装置11は、免許証10_1aから分散情報d_1を読み取ってエンジンECU20aに転送する。イグニションスイッチ12は、電子キー10_2aが取り付けられる車両キーにより機械的に回動されてオン・オフされ、オン・オフに対応する制御信号をエンジンECU20aに送る。また、イグニションスイッチ12は、電子キー10_2aから送信される分散情報d_2を受信してエンジンECU20aに転送する手段を有する。なお、車載LAN13は、たとえばCAN(Controller Area Network)である。また、記憶装置201は、照合用の秘密情報Sを格納する。
【0030】
図5は、上記イモビライザシステムの詳細な構成例である。電子キー10_2aは、分散情報d_2を格納する記憶部33と、記憶部33から読み出された分散情報d_2を送信する通信部32とを有する。エンジンECU20aは、たとえばバス24により接続されるCPU(Central Processing Unit)21、ROM23、RAM(Random Access Memory)22、及びインターフェース部25を有する。インターフェース部25には、記憶装置201が接続される。また、インターフェース部25には、車載LAN13経由で、通信装置120、読取装置11が接続される。
【0031】
通信装置120は、たとえば、イグニションスイッチ12に設けられ、電子キー10_2aの通信部32から送信される分散情報d_2を受信し、インターフェース部25を介してCPU21に転送する。また、読取装置11は、ICカードである免許証10_1aから、分散情報d_1を読み取り、インターフェース部25を介してCPU21に転送する。また、記憶装置201は、たとえばROM(Read Only Memory)を有し、ROM内に照合用の秘密情報Sを格納する。
【0032】
CPU21は、通信装置120や読取装置11から転送される分散情報に基づいて、認証処理を行う。このときCPU21は、ROM23に格納される処理プログラムに従って、秘密情報の算出やその認証処理を実行する。処理に必要な各種データやプログラムは、RAM22に一時的に格納される。
【0033】
上記イモビライザシステムにおける認証処理について、図4、図5を用いて説明する。まず、エンジンECU20aは、免許証10_1aが有する分散情報d_1と、電子キー10_2aが有する分散情報d_2とに基づいて秘密情報S_1、2を求める。具体的には、エンジンECU20aは、免許証10_1aから関数f1(x)とパラメータX1を含む分散情報d_1を取得し、電子キー10_2aから関数f2(x)とパラメータX2を含む分散情報d_2を取得する。
【0034】
そして、エンジンECU20aは、免許証10_1aから取得した関数f1(X)と、電子キー10_2aから取得したパラメータX2から、秘密情報S_1を算出する。また、エンジンECU20aは、電子キー10_2aから取得した関数f2(X)と、免許証10_1から取得したパラメータX1から、秘密情報S_2を算出する。ここで、秘密情報S_1、S_2は、次の通りである。
秘密情報S_1=a・X2+α
秘密情報S_2=b・X1+β
そして、エンジンECU20aは、算出した秘密情報S_1、S_2が互いに一致し、かつ、照合用の秘密情報Sと一致するときに、免許証10_1aと電子キー10_2aが真正であると認証する。
【0035】
エンジンECU20aは、認証が成立した場合に、イグニションスイッチ12のオンに応答してエンジン始動を許可する。一方、認証が成立しないときには、イグニションスイッチ12がオンされてもエンジン始動を許可しない。このようなイモビライザシステムによれば、たとえば、電子キーにのみ秘密情報を格納しておきその認証を行うような場合と比較すると、セキュリティをより向上させることができる。
【0036】
図6は、第1実施形態の認証システムが適用される第2実施例について説明する図である。第2実施例では、認証システムは、車両のタイヤの空気圧を監視する、空気圧監視システムに適用される。分散情報保持デバイス群は、たとえば、タイヤごとに設けられる空気圧センサ10_1b〜4bである。空気圧センサ10_1b〜4bは、たとえば、タイヤの空気圧を検知する圧電素子と、検知した空気圧を無線送信する通信装置を有する。また、空気圧センサ10_1〜4bは、それぞれ分散情報d_11〜14を有する。
【0037】
認証デバイス20は、たとえばボディECU(Electronic Control Unit)20bである。ボディECU20bには、ここでは図示を省略する無線通信装置が、LIN(Local Interconnect Network)などの車載LAN27を介して接続される。これにより、ボディECU20bは、空気圧センサ10_1b〜4bが無線送信する分散情報d_11〜14を受信する。また、ボディECU20bには、記憶装置202が接続される。記憶装置202には、照合用の秘密情報Sが格納される。
【0038】
図7は、上記空気圧監視システムの詳細な構成例である。空気圧センサ10_1b〜4bは、それぞれ、分散情報d_11〜14を格納する記憶部33と、記憶部33から読み出された分散情報を無線送信する通信部32とを有する。ボディECU20bは、たとえばバス24により接続されるCPU21、ROM23、RAM(Random Access Memory)22、及びインターフェース部25を有する。
【0039】
インターフェース部25には、記憶装置202が接続される。またインターフェース部25には、車載LAN27を介して通信装置122が接続される。記憶装置202は、たとえばROMを有する。この、ROMには、図5で示したように、照合用の秘密情報Sが格納される。通信装置122は、空気圧センサ10_1b〜4bの通信部32から送信される分散情報d_11〜14を受信し、インターフェース部25を介してCPU21に転送する。
【0040】
CPU21は、通信装置122から転送される分散情報d_11〜14に基づいて、認証処理を行う。このときCPU21は、ROM23に格納される処理プログラムに従って、秘密情報の算出やその認証処理を実行する。このとき、処理に必要なデータは、RAM22に一時的に格納される。
【0041】
上記空気圧監視システムにおける認証処理について、図6、図7を用いて説明する。認証処理では、ボディECU20bが、空気圧センサ10_1b〜4bがそれぞれ有する分散情報d_11〜14に基づいて秘密情報S_1〜4を求める。具体的には、ボディECU20bは、空気圧センサ10_1b〜4bからそれぞれ分散情報d_11〜14を取得する。分散情報d_11は、関数f1(x)とパラメータX1を含む。また、分散情報d_12は、関数f2(x)とパラメータX2を含む。また、分散情報d_13は、関数f3(x)とパラメータX3を含む。そして、分散情報d_14は、関数f4(x)とパラメータX4を含む。
【0042】
ここで、パラメータX1〜4(X1≠X2≠X3≠X4)は、任意に決定されるパラメータである。そして、秘密情報をSとしたとき、関数f1〜4(X)は、それぞれ次のような線形方程式である。
関数f1(X)=a・X+α (ただし、aは任意の係数、定数項α=S−a・(X2+X3+X4))
関数f2(X)=b・X+β (ただし、b(≠a)は任意の係数、定数項β=S−b・(X1+X3+X4))
関数f3(X)=c・X+γ (ただし、c(≠a、かつ≠b)は任意の係数、定数項γ=S−c・(X1+X2+X4))
関数f4(X)=d・X+δ (ただし、d(≠a、≠b、かつ≠c)は任意の係数、定数項δ=S−d・(X1+X2+X3))
ボディECU20bは、空気圧センサ10_1bから取得した関数f1(X)に、空気圧センサ10_2b〜4bから取得したパラメータX2〜4の和を代入し、秘密情報S_1を算出する。また、ボディECU20bは、空気圧センサ10_2bから取得した関数f2(X)に、空気圧センサ10_1b、10_3b、及び10_4bから取得したパラメータX1、X3、及びX4の和を代入し、秘密情報S_2を算出する。また、ボディECU20bは、空気圧センサ10_3bから取得した関数f3(X)に、空気圧センサ10_1b、10_2b、及び10_4bから取得したパラメータX1、X2、及びX4の和を代入し、秘密情報S_3を算出する。そして、ボディECU20bは、空気圧センサ10_4bから取得した関数f4(X)に、空気圧センサ10_1〜3bから取得したパラメータX1〜X3の和を代入し、秘密情報S_4を算出する。ここで、秘密情報S_1〜4は、次のとおりである。
秘密情報S_1=a・(X2+X3+X4)+α
秘密情報S_2=b・(X1+X3+X4)+β
秘密情報S_3=c・(X1+X2+X4)+γ
秘密情報S_4=d・(X1+X2+X3)+δ
そして、ボディECU20bは、算出した秘密情報S_1〜4が一致し、かつ、照合用の秘密情報Sと一致するときに、空気圧センサ10_1b〜4bが真正であると認証する。
【0043】
ボディECU20bは、認証が成功したときには、たとえばエンジンECUにエンジン始動を許可する信号を送信する。一方、認証が成立しないときには、エンジン始動を禁止する信号を送信する。このようにすることで、非正規品の空気圧センサが用いられることで適確な空気圧監視ができなくなるといった事態を回避できる。
【0044】
図8は、第2実施例における変形例について説明する図である。この変形例では、空気圧センサ10_1b〜4bのそれぞれが、他の空気圧センサからパラメータを取得して自らの関数により秘密情報を求める点が、第2実施例と異なる。かかる動作を行うための空気圧監視システムの詳細な構成例が、図9に示される。空気圧センサ10_1b〜4bは、それぞれ、分散情報d_11〜14を格納する記憶部33と、記憶部33から読み出された分散情報のうち、パラメータを無線送信する通信部32とを有し、さらに、演算処理部34を有する。演算処理部34は、他の空気圧センサから取得したパラメータから、自らの関数により秘密情報を算出する。演算処理部34は、たとえばマイクロコンピュータである。ただし、演算処理部34は、加乗算のみを行なう簡易な演算回路をもつ安価な演算装置でよい。なお、ボディECU20bは、図5で示した構成と同じである。
【0045】
変形例における認証処理について、図8、図9を用いて説明する。まず、空気圧センサ10_1bが、他の空気圧センサ10_2b〜4bから、それぞれのパラメータX2〜X4を取得する。たとえば、空気圧センサ10_2b〜4bは、それぞれのパラメータX2〜X4をボディECU20bに無線送信する。そして、ボディECU20bが、パラメータX2〜X4を空気圧センサ10_1bに無線送信する。次に、空気圧センサ10_1bは、自らの関数f1(X)により、パラメータX2〜X4から秘密情報S_1を算出する。そして、空気圧センサ10_1bは、算出した秘密情報S_1をボディECU20bに送信する。
【0046】
また、空気圧センサ10_2b〜4bが、同様の処理を行う。たとえば、空気圧センサ10_2bは、他の空気圧センサ10_1b、10_3b、及び10_4bから、ボディECU20bを介してそれぞれのパラメータX1、X3、及びX4を取得する(図示省略)。そして、空気圧センサ10_1bは、自らの関数f2(X)により、パラメータX1、X3、及びX4から秘密情報S_2を算出する。そして、空気圧センサ10_2bは、算出した秘密情報S_2をボディECU20bに送信する。さらに、空気圧センサ10_3bが、他の空気圧センサ10_1b、10_2b、及び10_4bから、ボディECU20bを介してそれぞれのパラメータX1、X2、及びX4を取得する(図示省略)。そして、空気圧センサ10_3bは、自らの関数f3(X)により、パラメータX1、X2、及びX4から秘密情報S_3を算出する。そして、空気圧センサ10_3bは、算出した秘密情報S_3をボディECU20bに送信する。さらに、空気圧センサ10_4bが、他の空気圧センサ10_1b〜3bから、ボディECU20bを介してそれぞれのパラメータX1〜X3を取得する(図示省略)。そして、空気圧センサ10_4bは、自らの関数f4(X)により、パラメータX1〜X3から秘密情報S_4を算出する。そして、空気圧センサ10_4bは、算出した秘密情報S_4をボディECU20bに送信する。
【0047】
そして、ボディECU20bは、秘密情報S_1〜S_4が一致し、かつ、照合用の秘密情報Sと一致するときに、空気圧センサ10_1b〜4bを認証する。
【0048】
この変形例では、空気圧センサ10_1b〜4bは、それぞれの関数f1〜4を他の空気圧センサに送信しないので、これらの情報が伝送経路上で第三者などに不正に取得されることを回避できる。また、パラメータX1〜4が不正に取得され、これを格納して模倣された不正な空気圧センサが車両に取り付けられたとしても、次のようにしてそのことを検出することができる。
【0049】
図10は、不正な空気圧センサを検出する処理について説明する図である。図10では、図8で示した真正の空気圧センサ10_4bの代わりに、不正な空気圧センサ10_5bが取り付けられた状態が示される。不正な空気圧センサ10_5bには、模倣された不正な分散情報d_15が格納される。分散情報d_15は、不正に取得された空気圧センサ10_4bの真正のパラメータX4を含む。一方、真正の空気圧センサ10_4bの関数f4(X)は、図8で示したように、他の空気圧センサに転送されることがないので不正に取得される蓋然性が低い。よって、不正な分散情報d_15は、真正の関数f4(X)とは異なる不正な関数f5(X)を含むか、あるいは、関数を含まない。
【0050】
このような状態で、不正な空気圧センサ10_5bが、他の真正の空気圧センサ10_1b〜3bに対し、真正のパラメータX4を送信する。すると、空気圧センサ10_1b〜3bによりそれぞれ求められる秘密情報S_1〜3は互いに一致し、かつ照合用の秘密情報とも一致する。一方、不正な空気圧センサ10_5bでは、空気圧センサ10_1b〜3bから送信される真正のパラメータX1〜X3を用いたとしても、不正な関数f5(X)を用いることで、不正の秘密情報S_5が算出される。よって、ボディECU20bは、空気圧センサ10_5bが不正な秘密情報S_5を算出することを検出することで、空気圧センサ10_5bを不正品と判定することができる。
【0051】
たとえば、ボディECU20bは、空気圧センサ10_5bから送信される不正な秘密情報S_5を、真正の秘密情報S_1〜3とマッチングさせ、不一致であることを検出する。あるいは、空気圧センサ10_5bが関数を有していなければ、秘密情報が算出されない。よって、ボディECU20bは、空気圧センサ10_5bから秘密情報が送信されないことを判定することで、空気圧センサ10_5bが不正品であることを検出できる。
【0052】
このような変形例によれば、秘密情報S_1〜4のいずれかが他と一致しない場合や、いずれかが欠落したときに、不正な空気圧センサを検出することができる。なお、ボディECU20bは、不正な空気圧センサを検出したときに、エンジンECUに対してエンジン始動を禁止する制御信号を送信することに加え、たとえば、不正品を検出したことを示す情報を、表示出力したり音声出力したりすることができる。このようにして、安全性を向上させることができる。
【0053】
図11は、第1実施形態における認証システムの動作手順例について説明するフローチャート図である。図11に示される手順は、分散情報の生成・設定手順例である。この手順例には、分散情報生成装置1の動作手順が含まれる。分散情報生成装置1は、たとえば、図4で示したイモビライザシステムや図6で示した空気圧監視システムの製造者における上位システムである。分散情報生成装置1は、分散情報保持デバイス10_1〜nに対するパラメータX1〜nを生成する(Step2)。そして、分散情報生成装置1は、秘密情報SとパラメータX1〜n、及び変数項の係数から定数項を決定し、関数f1〜nを決定する(Step4)。そして、分散情報生成装置1は、関数f1〜nとパラメータX1〜nを分散情報保持デバイス10_1〜nに配布する(Step6)。なお、手順Step6は、操作者により手動あるいは半自動で行われてもよい。そして、各分散情報保持デバイス10_1〜nは、それぞれの関数f1〜nとパラメータX1〜nを格納する(Step8)。
【0054】
図12は、第1実施形態における認証システムの動作手順例について説明するフローチャート図である。図12に示される手順は、秘密情報の算出処理と、認証処理の手順例である。まず、認証を必要とする処理が要求される(Step10)。たとえば、イモビライザシステムの場合、または空気圧監視システムの場合には、イグニションスイッチが機械的にオンされる。そして、秘密情報を求めるために分散情報が収集される(Step12)。たとえば、認証デバイス20が分散情報保持デバイス10_1〜nから関数とパラメータとを取得する。あるいは、分散情報保持デバイス10_1〜nの全て、もしくはいずれかが、他の分散情報デバイスからパラメータ、またはパラメータと関数を取得する。
【0055】
そして、関数ごとに(またはパラメータごとに)、秘密情報S_1〜nが求められる(Step14)。たとえば、認証デバイス20が、分散情報保持デバイス10_1〜nから取得した関数ごとに(またはパラメータごとに)、秘密情報S_1〜nを算出する。あるいは、分散情報保持デバイス10_1〜nの全て、もしくはいずれかが、他の分散情報デバイスから取得した関数ごとに(またはパラメータごとに)、秘密情報S_1〜nを算出する。
【0056】
そして、求められた全ての秘密情報S_1〜nが一致しており(Step16のYES)、かつ、求められた全ての秘密情報S_1〜nが照合用の秘密情報Sと一致しているときに(Step18のYES)、認証を必要とする処理を実行し(Step20)、処理が終了される。たとえば、手順Step16の判定処理は、認証デバイス20、または秘密情報保持デバイス10_1〜nのいずれかで行われる。また、手順Step18の判定処理は、認証デバイス20で行われる。また、認証を必要とする処理は、たとえば、エンジンのスタートを許可する制御信号の出力などである。
【0057】
一方、求められた全ての秘密情報が一致していないとき(Step16のNO)、あるいは、求められた全ての秘密情報が照合用の秘密情報と一致していないとき(Step18のNO)には、エラー処理が実行される。エラー処理は、たとえば、エンジンのスタートを禁止する制御信号の出力、警告情報の出力などである。
【0058】
上記のような第1実施形態によれば、セキュリティを向上させるとともに、秘密情報を求めるための演算負荷を小さくすることができる。よって、認証システムの低コスト化が可能になる。
【0059】
[第2実施形態]
第2実施形態における認証システムは、n個の分散情報デバイス群のうち、(n−2)個以下の分散情報デバイスが有するパラメータから秘密情報を求めるための関数と、当該(n−2)個以下の分散情報デバイスが有する関数により前記秘密情報を求めるためのパラメータとを有する親デバイスをさらに有する。
【0060】
図13は、第2実施形態における認証システムの構成例を示す図である。図13は、図2で示した第1実施形態の構成例に、親デバイス100が追加されたものである。親デバイス100は、たとえば、分散情報保持デバイス10_2が有するパラメータX2から秘密情報Sを求めるための関数F(X)を有する。関数F(X)は、たとえば、次のような線形方程式である。
関数F(X)=m・X+θ (ただしmは任意の係数、定数項θ=S−m・X2)
また、親デバイス100は、分散情報保持デバイス10_2が有する関数f2(X)から秘密情報Sを求めるためのパラメータX1+X3を有する。
【0061】
第1実施形態では、図2で示したように、分散情報保持デバイス10_1〜3が有する関数f1(X)〜f3(X)ごとに秘密情報S_1〜3を求めるには、他の2つの分散情報保持デバイスが有するパラメータを用いた。これに対し、第2実施形態では、親デバイス100が有する関数F(X)を用いることで、1つの分散情報保持デバイス10_2が有するパラメータX2のみから秘密情報mSを求めることができる。また、親デバイス100が有するパラメータ(X1+X3)を用いることで、分散情報保持デバイス10_2が有する関数f2(X)から秘密情報S_2を求めることができる。そして、秘密情報mSと秘密情報S_2が一致することで、分散情報保持デバイス10_2の認証が行われる。
【0062】
すなわち、親デバイス100は、分散情報保持デバイス10_1〜3のそれぞれより少ない数の分散情報デバイスと協働することで認証を可能にする。換言すれば、親デバイス100だけで、分散情報保持デバイス10_1及び3と同等の機能を有する。よって、親デバイス100は、分散情報保持デバイス10_1〜3より上位の権限を有する。このようにして、親デバイス100と分散情報保持デバイス10_1〜3を階層化することができる。
【0063】
第2実施形態の認証システムは、たとえば次のようなシステムに適用される。
【0064】
図14は、認証システムがイモビライザシステムに適用される第3実施例を示す図である。このイモビライザシステムでは、分散情報保持デバイス10_1〜nは、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dである。安全制御装置10_2dは、たとえば、速度制御機能を有するECUである。また、認証デバイス20は、エンジンECU20dである。そして、親デバイス100は、上位キー100dである。
【0065】
電子キー10_1d、安全制御装置10_2d、及び免許証10_3dには、分散情報生成装置1により生成された分散情報が格納される。たとえば、電子キー10_1dは、関数f1(X)とパラメータX1を有する。また、安全制御装置10_2dは、関数f2(X)とパラメータX2を有する。そして、免許証10_3dは、関数f3(X)とパラメータX3を有する。
【0066】
エンジンECU20dは、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dからそれぞれ取得する関数f1(X)〜f3(X)と、パラメータX1〜3により、次のような秘密情報S_1〜3を算出する。
秘密情報S_1=f1(X2+X3)
秘密情報S_2=f2(X1+X3)
秘密情報S_3=f3(X1+X2)
そして、エンジンECU20dは、秘密情報S_1〜3が互いに一致し、かつ照合用秘密情報Sと一致するときに、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dを認証して、エンジン始動を許可する。
【0067】
上位キー100dには、分散情報生成装置1により生成された分散情報が格納される。たとえば、上位キー100dは、安全制御装置10_2dのパラメータX2のみから秘密情報mSを求める関数F(X)と、安全制御装置10_2dの関数f2(X)により秘密情報S_2を求めるためのパラメータ(X1+X3)を有する。上位キー100dは、たとえばカーディーラーに保管される。
【0068】
上位キー100dは、たとえば、電子キー10_1dと免許証10_3dのいずれか一方または両方を紛失したような場合に、用いられる。エンジンECU20dは、上位キー100dと安全制御装置10_2dからそれぞれ関数F(X)、f2(X)と、パラメータ(X1+X3)とX2を取得する。そして、エンジンECU20dは、次のような秘密情報mSと、S_2を算出する。
秘密情報mS=F(X2)
秘密情報S_2=f2(X1+X3)
そして、エンジンECU20dは、秘密情報mSとS_2が互いに一致し、かつ照合用秘密情報Sと一致するときに、認証を行い、エンジン始動を許可する。
【0069】
このように、第3実施例によれば、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dの全てがそろわなくても、上位キー100dを用いることでエンジンを始動させることができる。よって、通常の使用時におけるセキュリティを確保しつつ、電子キー10_1dや免許証10_3dの紛失時であってもエンジンを始動できるので、利便性が向上する。
【0070】
図15は、認証システムがカーナビゲーションシステムに適用される第4実施例を示す図である。このナビゲーションシステムは、サービス提供者のサーバからダウンロードしたソフトウェアの使用権限を認証する。ダウンロードされるソフトウェアは、たとえば、地図情報を有する観光ガイドアプリケーションなどである。
【0071】
このナビゲーションシステムでは、分散情報生成装置1が、分散情報を生成するとともに、ダウンロード用のソフトウェア50を有する。分散情報生成装置1は、図示を省略する公衆通信回線網に接続される。よって、ナビゲーション装置52が公衆通信回線網に接続することで、分散情報生成装置1からナビゲーション装置52にソフトウェア50がダウンロードされる。
【0072】
また、このナビゲーションシステムでは、分散情報保持デバイス10_1〜nは、第1の可搬性メモリ10_1e、パスワード管理モジュール10_2e、及び第2の可搬性メモリ10_3eである。可搬性メモリ10_1e、10_3eは、たとえばUSBメモリ、メモリカードなどである。パスワード管理モジュール10_2eは、たとえば、ナビゲーション装置52内に設けられ、ユーザが入力するパスワードに基づき分散情報を復号する。また、認証デバイス20eは、たとえばナビゲーション装置52内に設けられる。認証デバイス20eは、たとえば、ソフトウェア50をダウンロードして実行するモジュールに設けられる。そして、親デバイス100は、第3の可搬性メモリ100eである。可搬性メモリ100eは、たとえば、USBメモリやメモリカードである。
【0073】
可搬性メモリ10_1e、パスワード管理モジュール10_2eには、分散情報生成装置1により生成された分散情報が格納される。たとえば、可搬性メモリ10_1eは、関数f1(X)とパラメータX1を有する。たとえば、公衆通信回線網を介して分散情報生成装置1に接続されるパーソナルコンピュータにより、関数f1(X)とパラメータX1が取得され、可搬性メモリ10_1eに格納される。
【0074】
また、パスワード管理モジュール10_2eは、関数f2(X)とパラメータX2を有する。関数f2(X)とパラメータX2は、分散情報生成装置1から、ソフトウェア50の一部としてダウンロードされる。パスワード管理モジュール10_2eは、ユーザがナビゲーション装置52に対して入力するパスワードから、関数f2(X)とパラメータX2を復号して保持する。
【0075】
可搬性メモリ10_3eは、関数f3(X)とパラメータX3を有する。たとえば、公衆通信回線網を介して分散情報生成装置1に接続されるパーソナルコンピュータにより、関数f3(X)とパラメータX3が取得され、可搬性メモリ10_3eに格納される。あるいは、可搬性メモリ10_3eは、たとえば認証デバイス20eから関数f3(X)とパラメータX3を取得する。認証デバイス20eは、たとえば、ダウンロードされたソフトウェア50に従って、ナビゲーション装置52の機体番号などの固有番号に基づき関数f3(X)とパラメータX3を生成する。この場合、生成されたパラメータX3は、分散情報生成装置1にアップロードされて先の関数f1(X)とパラメータX1を生成するために、分散情報生成装置1に保持される。
【0076】
一方、可搬性メモリ100eには、分散情報生成装置1により生成された関数F(X)とパラメータ(X1+X3)が格納される。たとえば、公衆通信回線網を介して分散情報生成装置1に接続されるパーソナルコンピュータにより、関数F(X)とパラメータ(X1+X3)が取得され、可搬性メモリ100eに格納される。関数F(X)によれば、パスワード管理モジュール10_2eのパラメータX2のみから秘密情報mSが求められる。また、パラメータ(X1+X3)から、パスワード管理モジュール10_2eの関数f2(X)により秘密情報S_2が求められる。
【0077】
認証デバイス20eは、ナビゲーション装置52に接続される可搬性メモリ10_1e、ユーザのパスワード入力に基づき関数f2(X)とパラメータX2を生成するパスワード管理モジュール10_2e、及びナビゲーション装置52に接続される可搬性メモリ10_3eからそれぞれ関数f1(X)〜f3(X)と、パラメータX1〜3を取得して、次のような秘密情報S_1〜3を算出する。
秘密情報S_1=f1(X2+X3)
秘密情報S_2=f2(X1+X3)
秘密情報S_3=f3(X1+X2)
そして、認証デバイス20eは、秘密情報S_1〜3が互いに一致し、かつ照合用秘密情報Sと一致するときに、可搬性メモリ10_1e、パスワード管理モジュール10_2e、及び可搬性メモリ10_3eを認証して、ソフトウェア50の実行を許可する。あるいは、認証デバイス20eは、可搬性メモリ100eとパスワード管理モジュール10_2eからそれぞれ関数F(X)、f2(X)と、パラメータ(X1+X3)とX2を取得する。そして、認証デバイス20eは、次のような秘密情報mS、S_2を算出する。
秘密情報mS=F(X2)
秘密情報S_2=f2(X1+X3)
そして、認証デバイス20eは、秘密情報mSとS_2が互いに一致し、かつ照合用秘密情報Sと一致するときに、認証を行い、ソフトウェア50の実行を許可する。
【0078】
このようなナビゲーションシステムは、たとえば、ソフトウェア50の試用期間中は、可搬性メモリ100eとパスワード認証モジュール10_2eによるパスワード認証とにより、ソフトウェア50の実行を許可する。ソフトウェア50を試用するユーザは、たとえばパーソナルコンピュータにより、公衆通信回線網経由で、分散情報生成装置1から関数F(X)とパラメータ(X1+X3)を取得して、可搬性メモリ100eに格納する。
【0079】
そして、ソフトウェア50の試用期間経過後は、可搬性メモリ100eの関数F(X)がソフトウェア50により無効化される。それとともに、可搬性メモリ10_1eに格納する分散情報、つまりライセンスの購入を、ユーザに促す。ライセンスを購入するユーザは、たとえばパーソナルコンピュータにより、公衆通信回線網経由で、分散情報生成装置1から関数f1(X)とパラメータX1を取得(購入)して、可搬性メモリ10_1eに格納する。そして、ユーザがライセンスを購入した後は、可搬性メモリ10_1e、パスワード認証モジュール10_2e、及び可搬性メモリ10_3eの全てが認証されたときに、ソフトウェア50の実行が許可される。
【0080】
このように、第4実施例によれば、ソフトウェア50の試用期間中は、使用のための条件を緩くしておきユーザの購買意欲を喚起できる。使用期間経過後には、使用のための条件を厳しくすることで、ライセンスを購入したユーザに、高いセキュリティを提供することができるので、利便性が向上する。
【0081】
図16は、第2実施形態における認証システムの動作手順例について説明するフローチャート図である。図16(A)に示される手順は、分散情報の生成・設定手順例である。分散情報生成装置1は、分散情報保持デバイス10_1〜nに対するパラメータX1〜nを生成する(Step102)。そして、分散情報生成装置1は、秘密情報SとパラメータX1〜n、及び変数項の係数から定数項を決定し、関数f1〜nを決定する(Step104)。
【0082】
そして、分散情報生成装置1は、図16(B)に示されるような階層定義テーブルTBLに従い、親デバイス用の関数F(X)を生成する(Step105)。階層定義テーブルTBLでは、たとえば、分散情報保持デバイス10_1〜nごとに、パラメータの数で階層が定義される。たとえば、分散情報保持デバイス10_1〜3は、それぞれ1つのパラメータを有するが、親デバイス100は2つのパラメータX1、X3の和を有する。よって、親デバイス100が、分散情報保持デバイス10_1〜3より上位の階層として定義される。かかる階層テーブルTBLは、たとえば分散情報生成装置1内部の記憶装置に格納される。
【0083】
そして、関数f1〜nとパラメータX1〜nが、分散情報保持デバイス10_1〜nに配布されるとともに、関数F(X)と親デバイスのパラメータ(たとえばX1、X3の和)が、親デバイス100に配布される(Step106)。そして、各分散情報保持デバイス10_1〜nは、それぞれの関数f1〜nとパラメータX1〜nを、親デバイス100は、関数F(X)と親デバイスのパラメータ(たとえばX1、X3の和)を格納する(Step108)。
【0084】
図17は、第2実施形態において、親デバイスを用いたときの認証処理の動作手順例について説明するフローチャート図である。まず、認証を必要とする処理が要求される(Step110)。たとえば、イモビライザシステムの場合には、イグニションスイッチが機械的にオンされる。あるいは、ナビゲーションシステムの場合には、ナビゲーション機能が起動される。
【0085】
そして、秘密情報を求めるために分散情報が収集される(Step112)。たとえば、認証デバイス20が親デバイス100と分散情報保持デバイス10_2から関数とパラメータとを取得する。そして、関数ごとに、秘密情報が求められる(Step114)。たとえば、認証デバイス20が、親デバイスから取得した関数F(X)により秘密情報mSを算出し、分散情報保持デバイス10_2から取得した関数f2(X)により秘密情報S_2を算出する。
【0086】
そして、求められた秘密情報が一致しており(Step116のYES)、かつ、求められた秘密情報が照合用の秘密情報Sと一致しているときに(Step118のYES)、認証を必要とする処理を実行し(Step120)、処理が終了される。たとえば、認証デバイス20が、手順Step116,118の判定処理を行う。
【0087】
また、認証を必要とする処理は、たとえば、エンジンのスタートを許可する制御信号の出力や、ソフトウェアの実行などである。一方、求められた全ての秘密情報が一致していないとき(Step116のNO)、あるいは、求められた全ての秘密情報が照合用の秘密情報と一致していないとき(Step118のNO)には、エラー処理が実行される。エラー処理は、たとえば、エンジンのスタートを禁止する制御信号の出力や、ソフトウェアの実行中止などである。
【0088】
上記のような第2実施形態によれば、認証システムにおいて、分散情報保持デバイスを階層化することができ、ユーザの利便性が向上する。
【0089】
以上の実施の形態をまとめると、次の付記のとおりである。
【0090】
(付記1)
それぞれが異なる関数と異なるパラメータとを有するデバイス群と、
前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システム。
【0091】
(付記2)
付記1において、
前記認証デバイスは、さらに、前記求められた秘密情報群が記憶装置に格納された秘密情報と一致することを条件に、前記デバイス群を認証する認証システム。
【0092】
(付記3)
付記1において、
前記認証デバイスは、前記デバイス群の各デバイスから前記関数と前記パラメータを取得して、前記秘密情報を求める処理を前記デバイス群の各デバイスについて実行する認証システム。
【0093】
(付記4)
付記1において、
前記デバイス群の各デバイスは、他のデバイスから前記パラメータを取得して、当該取得したパラメータと自らの前記関数とを用いて前記秘密情報を求め、当該求めた秘密情報を前記認証デバイスに転送する認証システム。
【0094】
(付記5)
付記1において、
前記デバイス群に含まれるデバイスの個数をnとして、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外の(n−1)個のデバイスが有する前記パラメータから前記秘密情報が求められ、
(n−2)個以下のデバイスが有する前記パラメータから前記秘密情報を求めるための関数と、当該(n−2)個以下のデバイスが有する関数により前記秘密情報が求めるためのパラメータとを有する親デバイスをさらに有し、
前記認証デバイスは、前記親デバイスが有する前記関数と前記(n−2)個以下のデバイスが有する前記パラメータから求められた秘密情報と、前記親デバイスが有する前記パラメータと前記(n−2)個以下のデバイスが有する前記関数から求められた秘密情報とが一致するときに、前記(n−2)個以下のデバイスを認証する認証システム。
【0095】
(付記6)
付記1において、
前記デバイス群に分配するための前記関数群と前記パラメータ群とを前記秘密情報に基づいて生成する生成装置をさらに有する認証システム。
【0096】
(付記7)
付記1乃至6のいずれかにおいて、
前記デバイス群の各デバイスが有する前記関数は、他のデバイスが有する前記パラメータが代入されて前記秘密情報が求められる線形方程式である認証システム。
【0097】
(付記8)
それぞれが異なる関数と異なるパラメータとを有するデバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから秘密情報を求め、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から秘密情報を求め、
前記求められた秘密情報群が一致するときに前記デバイス群を認証する、認証方法。
【符号の説明】
【0098】
1:分散情報生成装置、10_n:分散情報保持デバイス、20:認証デバイス、
100:親デバイス
【技術分野】
【0001】
本発明は、認証システム、及び認証方法に関する。
【背景技術】
【0002】
協働する複数のデバイスが真正か否かを認証する認証システムにおいて、セキュリティを向上させるための方法が提案されている。その一つとして、秘密分散法があげられる(たとえば、特許文献1〜4)。秘密分散法では、秘密情報を求めるための情報を分散し、分散情報として複数のデバイス(以下、分散情報保持デバイス)に保持させる。秘密情報は、たとえばX−Y座標平面における線形方程式のY切片として規定される。この場合、線形方程式上の複数の点のX−Y座標が分散情報である。この方法では、少なくとも2つの分散情報保持デバイスからそれぞれの分散情報を収集し、収集した分散情報から線形方程式が求められる。そして、線形方程式の切片である秘密情報が求められる。そして、求めた秘密情報の正否に基づき、分散情報保持デバイスの認証が行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−212089号公報
【特許文献2】特開2004−274320号公報
【特許文献3】特開2004−343816号公報
【特許文献4】特開2005−130404号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような認証システムは、たとえば、車両用のセキュリティシステムなどに用いることができる。車両用のセキュリティシステムでは、分散情報は、たとえば電子キーや運転者が携行するICカードなどに保持される。車両用のセキュリティシステムには、セキュリティの向上が求められる一方で、低コスト化が求められる。
【0005】
一方で、上記のような秘密分散法では、分散情報から線形方程式を求めるために、除算を行う必要がある。たとえば、点(x1,y1)と点(x2,y2)を通過し、秘密情報Sを切片とする直線は、次の式で表わされる。
y=[(y2−y1)/(x2−x1)]・x+S
すると、秘密情報Sは、次のように求められる。
秘密情報S=(x2・y1−x1・y2)/(x2−x1)
しかしここで、秘密情報Sを求めるためには除算が必要とされるところ、除算は加減算や乗算より演算処理の負荷が大きい。よって、秘密情報を求めるためのデバイスには、ある程度以上の演算処理能力が求められる。このことは、セキュリティシステムの低コスト化を阻害する要因となる。
【0006】
そこで、本発明の目的は、セキュリティを向上させるとともに、秘密情報算出のための演算負荷が小さく、低コスト化が可能な認証システムを提供することにある。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明の第1の側面における認証システムは、それぞれが異なる関数と異なるパラメータとを有するデバイス群と、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する。
【発明の効果】
【0008】
以下の実施形態によれば、セキュリティを向上させるとともに、秘密情報算出のための演算処理負荷を小さくすることができる。
【図面の簡単な説明】
【0009】
【図1】分散情報保持デバイスの数を2個としたときの認証システムの構成例を示す図である。
【図2】分散情報保持デバイスの数を3個としたときの認証システムの構成例を示す図である。
【図3】図2の変形例を示す図である。
【図4】第1実施例について説明する図である。
【図5】イモビライザシステムの詳細な構成例である。
【図6】第2実施例について説明する図である。
【図7】空気圧監視システムの詳細な構成例を示す図である。
【図8】第2実施例における変形例について説明する図である。
【図9】空気圧監視システムの詳細な構成例を示す図である。
【図10】不正な空気圧センサを検出する処理について説明する図である。
【図11】第1実施形態における認証システムの動作手順例について説明するフローチャート図である。
【図12】第1実施形態における認証システムの動作手順例について説明するフローチャート図である。
【図13】第2実施形態における認証システムの構成例を示す図である。
【図14】第3実施例を示す図である。
【図15】第4実施例を示す図である。
【図16】親デバイスを用いたときの認証システムの動作手順例について説明するフローチャート図である。
【図17】第2実施形態における認証処理の動作手順例について説明するフローチャート図である。
【発明を実施するための形態】
【0010】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0011】
[第1実施形態]
第1実施形態における認証システムは、分散情報保持デバイス群と、これらを認証する認証デバイスとを有する。
【0012】
図1は、分散情報保持デバイスの数を2個としたときの認証システムの構成例を示す図である。たとえば、この認証システムは、分散情報保持デバイス10_1、10_2と、認証デバイス20とを有し、さらに、分散情報保持デバイス10_1、10_2が保持する分散情報を生成する分散情報生成装置1を有する。
【0013】
分散情報保持デバイス10_1は、分散情報として、関数f1(X)とパラメータX1とを有する。一方、分散情報保持デバイス10_2は、分散情報として、関数f2(X)とパラメータX2(≠X1)とを有する。関数f1(X)とパラメータX1、及び関数f2(X)とパラメータX2は、分散情報生成装置1により、たとえば、次のようにして生成され、分散情報保持デバイス10_1、10_2に配布される。
【0014】
まず、分散情報生成装置1は、任意のパラメータX1、X2を生成する。そして、秘密情報をSとしたとき、分散情報生成装置1は、関数f1(X)における変数項の任意の係数aを決定し、また、関数f2(X)における変数項の任意の係数b(≠a)を決定する。そして、分散情報生成装置1は、次のような線形方程式で表わされる関数f1(X)、f2(X)を生成する。
関数f1(X)=a・X+α(ただし、定数項α=S−a・X2)
関数f2(X)=b・X+β(ただし、定数項β=S−b・X1)
この認証システムでは、2個の分散情報保持デバイス10_1、10_2のうち、一の分散情報保持デバイスが有する関数と他の分散情報保持デバイスが有するパラメータから、秘密情報Sを関数ごとに求める処理が実行される。かかる処理は、たとえば、認証デバイス20により行われる。認証デバイス20は、分散情報保持デバイス10_1からパラメータX1と関数f1(X)を取得し、分散情報保持デバイス10_2からパラメータX2と関数f2(X)を取得する。そして、認証デバイス20は、たとえば、関数f1(X)にパラメータX2を代入して秘密情報S_1(以下の説明では、便宜上、関数fn(n=1、2、・・・)ごとに求めた秘密情報をS_nとする)を求め、関数f2(X)にパラメータX1を代入して秘密情報S_2を求める。ここにおいて、秘密情報S_1、S_2は、次のとおりである。
秘密情報S_1=a・X2+α
秘密情報S_2=b・X1+β
そして、認証デバイス20は、求めた秘密情報S_1、S_2が一致するときに、分散情報デバイス10_1、10_2を認証する。さらに別の例では、秘密情報S_1、S_2が互いに一致し、かつ、照合用の秘密情報Sと一致するときに、認証デバイス20は、分散情報デバイス10_1、10_2を認証する。照合用の秘密情報Sは、たとえば認証デバイス20外部の記憶装置に格納される。
【0015】
なお、秘密情報S_1、S_2を求める処理の別の例では、分散情報保持デバイス10_1(または10_2)が秘密情報S_1、S_2を求める処理を行う。たとえば、分散情報保持デバイス10_1(または10_2)が、分散情報デバイス10_2(または10_1)から関数f2(X)(またはf1(X))とパラメータX2(またはX1)を取得して、秘密情報S_1、S_2を求める。また、別の例では、分散情報保持デバイス10_1、10_2の両方が、それぞれ他方からパラメータX2、X1を取得して、自らの関数f1(X)、f2(X)により秘密情報S_1、S_2を求める。
【0016】
また、認証処理の別の例では、分散情報保持デバイス10_1または10_2が、求めた秘密情報S_1、S_2を認証デバイス20に送り、認証デバイス20が秘密情報S_1、S_2の一致・不一致を判定して認証を行う。また、別の例では、分散情報保持デバイス10_1または10_2が、求めた秘密情報S_1、S_2の一致・不一致を判定してその判定結果を認証デバイス20に送り、その判定結果に基づいて認証デバイス20が認証を行う。
【0017】
図2は、分散情報保持デバイスの数を3個としたときの認証システムの構成例を示す図である。たとえば、この認証システムは、分散情報保持デバイス10_1、10_2、及び10_3と、認証デバイス20とを有し、さらに、分散情報生成装置1を有する。分散情報保持デバイス10_1は、関数f1(X)とパラメータX1とを有する。また、分散情報保持デバイス10_2は、関数f2(X)とパラメータX2(≠X1)とを有する。そして、分散情報保持デバイス10_3は、関数f3(X)とパラメータX3(≠X1、かつ≠X2)とを有する。
【0018】
関数f1(X)とパラメータX1、関数f2(X)とパラメータX2、及び関数f3(X)とパラメータX3は、分散情報生成装置1により、たとえば、次のようにして生成され、分散情報保持デバイス10_1、10_2、及び10_3に配布される。
【0019】
まず、分散情報生成装置1は、任意のパラメータX1、X2、及びX3を生成する。そして、秘密情報をSとしたとき、分散情報生成装置1は、関数f1(X)における変数項の任意の係数aを決定し、また、関数f2(X)における変数項の任意の係数b(≠a)を決定し、さらに、関数f3(X)における変数項の任意の係数c(≠a、かつ≠b)を決定する。そして、分散情報生成装置1は、次のような線形方程式で表わされる関数f1(X)、f2(X)、及びf3(X)を生成する。
関数f1(X)=a・X+α (ただし、定数項α=S−a・(X2+X3))
関数f2(X)=b・X+β (ただし、定数項β=S−b・(X1+X3))
関数f3(X)=c・X+γ (ただし、定数項γ=S−c・(X1+X2))
この認証システムでは、3個の分散情報保持デバイス10_1、10_2、及び10_3のうち、1つの分散情報保持デバイスが有する関数とそれ以外の2つの分散情報保持デバイスが有するパラメータから秘密情報を求める処理が、各関数について実行される。かかる処理は、たとえば、認証デバイス20により行われる。
【0020】
認証デバイス20は、分散情報保持デバイス10_1からパラメータX1と関数f1(X)を取得し、分散情報保持デバイス10_2からパラメータX2と関数f2(X)を取得し、分散情報保持デバイス10_3からパラメータX3と関数f3(X)を取得する。そして、認証デバイス20は、関数f1(X)にパラメータX2とX3の和を代入して秘密情報S_1を求める。また、認証デバイス20は、関数f2(X)にパラメータX1とX3の和を代入して秘密情報S_2を求める。そして、認証デバイス20は、関数f3(X)にパラメータX1とX2の和を代入して秘密情報S_3をそれぞれ求める。ここにおいて、秘密情報S_1〜3は、次のとおりである。
秘密情報S_1=a・(X2+X3)+α
秘密情報S_2=b・(X1+X3)+β
秘密情報S_3=c・(X1+X2)+γ
そして、認証デバイス20は、求められた秘密情報S_1〜3が一致するときに分散情報デバイス10_1〜3を認証する。たとえば、認証デバイス20は、自ら求めた秘密情報S_1〜3が一致するときに認証を行う。さらに、別の例では、認証デバイス20は、秘密情報S_1〜3が一致し、かつ照合用の秘密情報Sと一致するときに認証を行う。
【0021】
なお、秘密情報S_1〜3を求める処理の別の例では、分散情報保持デバイス10_1〜3のいずれかが他の2つの分散情報保持デバイスから関数とパラメータを取得して、秘密情報S_1〜3を求める。また、別の例では、分散情報保持デバイス10_1〜3のそれぞれが他の2つの分散情報保持デバイスからパラメータを取得して、自らの関数f1〜3(X)により秘密情報S_1〜3を求める。
【0022】
また、認証処理の別の例では、分散情報保持デバイス10_1、10_2、または10_3が、求めた秘密情報S_1〜3を認証デバイス20に転送し、認証デバイス20が秘密情報S_1〜3の一致・不一致を判定して認証を行う。また、別の例では、分散情報保持デバイス10_1、10_2、または10_3が、求めた秘密情報S_1〜3の一致・不一致を判定してその判定結果を認証デバイス20に転送し、その判定結果に基づいて認証デバイス20が認証を行う。
【0023】
図3は、図2の変形例を示す図である。この変形例では、分散情報保持デバイスのうち一の分散情報保持デバイスが有するパラメータと、それ以外の分散情報保持デバイスが有する関数から秘密情報をパラメータごとに求める処理が行われる。ここでは、関数f1(X)とパラメータX1、関数f2(X)とパラメータX2、及び関数f3(X)とパラメータX3は、たとえば、分散情報生成装置1により、次のようにして生成される。
【0024】
まず、分散情報生成装置1は、任意のパラメータX1、X2、及びX3を生成する。そして、秘密情報をSとしたとき、分散情報生成装置1は、任意の定数a、b(≠a)、及びc(≠a、かつ≠b)を決定する。そして、分散情報生成装置1は、次のような線形方程式を示す関数f1(X)、f2(X)、及びf3(X)を生成する。そして、分散情報生成装置1は、次のような定数項α、β、及びγを生成する。
定数項α=(S+(b+c)・X1−(a+c)・X2−(a+b)・X3)/2
定数項β=(S−(b+c)・X1+(a+c)・X2−(a+b)・X3)/2
定数項γ=(S−(b+c)・X1−(a+c)・X2+(a+b)・X3)/2
そして、分散情報生成装置1は、次のような線形方程式により表わされる関数f1(X)、f2(X)、及びf3(X)を生成する。
関数f1(X)=a・X+α
関数f2(X)=b・X+β
関数f3(X)=c・X+γ
そして、たとえば、認証デバイス20は、分散情報保持デバイス10_1が有するパラメータX1を、分散情報保持デバイス10_2が有する関数f2(X)と分散情報保持デバイス10_3が有する関数f3(X)の和に代入することで、秘密情報S_1を求める。また、認証デバイス20は、分散情報保持デバイス10_2が有するパラメータX2を、分散情報保持デバイス10_1が有する関数f1(X)と分散情報保持デバイス10_3が有する関数f3(X)の和に代入することで、秘密情報S_2を求める。そして、認証デバイス20は、分散情報保持デバイス10_3が有するパラメータX3を、分散情報保持デバイス10_1が有する関数f1(X)と分散情報保持デバイス10_2が有する関数f2(X)の和に代入することで、秘密情報S_3を求める。ここにおいて、秘密情報S_1〜3は、次のとおりである。
秘密情報S_1=f2(X1)+f3(X1)=(b+c)・X1+β+γ
秘密情報S_2=f1(X2)+f3(X2)=(a+c)・X2+α+γ
秘密情報S_3=f1(X3)+f2(X3)=(a+b)・X3+α+β
なお、この処理は、図2の場合と同様に、認証デバイス20の代わりに、分散情報保持デバイス10_1〜3のいずれかにおいて行ってもよい。そして、認証デバイス20は、図2の場合と同様に、求められた秘密情報S_1〜3が一致するときに、分散情報デバイス10_1〜3を認証する。
【0025】
図1〜図3で示したように、第1実施形態における認証システムは、それぞれが異なる関数と異なるパラメータとを有するn個(n=2、3、4、・・・)の分散情報保持デバイス10_1〜nを有する。そして、一の分散情報保持デバイスが有する関数(またはパラメータ)と他の(n−1)個の分散情報保持デバイスが有するパラメータ(または関数)から秘密情報S_1〜nを求める処理が、関数(パラメータ)ごとに行われる。そして、秘密情報S_1〜nが一致するときに、分散情報保持デバイス10_1〜nの認証が行われる。
【0026】
そして、図1〜図3の例では、秘密情報S_1〜nを求めるとき、加算と乗算とが行われ、除算は行われることがない。よって、秘密情報を求めるための演算回路の構成は、除算を行うための回路より簡易な構成とすることができる。よって、たとえば、複数の座標位置を通過する線形方程式を求める分散秘密方法の例と比較したとき、より簡易な演算処理が可能となる。よって、より簡易な回路構成で認証システムを構成でき、低コスト化が可能になる。
【0027】
第1実施形態における認証システムは、たとえば次のようなシステムに適用される。
【0028】
図4は、第1実施形態の認証システムが適用される第1実施例について説明する図である。第1実施例では、認証システムは、イモビライザシステムに適用される。第1実施例では、分散情報保持デバイス群は、免許証10_1aと電子キー10_2aである。免許証10_1aは、たとえばICカードである。免許証10_1aは、関数f1(x)とパラメータX1とを含む分散情報d_1を有する。電子キー10_2aは、たとえば機械式の車両キーに備えられる。電子キー10_2aは、関数f2(x)とパラメータX2とを含む分散情報d_2を有する。
【0029】
認証デバイス20は、たとえばエンジンECU(Electronic Control Unit)20aである。エンジンECU20aには、読取装置11と、イグニションスイッチ12とが、車載LAN(Local Area Network)13を介して接続される。また、エンジンECU20aには、記憶装置201が接続される。読取装置11は、たとえばICカードリーダである。読取装置11は、免許証10_1aから分散情報d_1を読み取ってエンジンECU20aに転送する。イグニションスイッチ12は、電子キー10_2aが取り付けられる車両キーにより機械的に回動されてオン・オフされ、オン・オフに対応する制御信号をエンジンECU20aに送る。また、イグニションスイッチ12は、電子キー10_2aから送信される分散情報d_2を受信してエンジンECU20aに転送する手段を有する。なお、車載LAN13は、たとえばCAN(Controller Area Network)である。また、記憶装置201は、照合用の秘密情報Sを格納する。
【0030】
図5は、上記イモビライザシステムの詳細な構成例である。電子キー10_2aは、分散情報d_2を格納する記憶部33と、記憶部33から読み出された分散情報d_2を送信する通信部32とを有する。エンジンECU20aは、たとえばバス24により接続されるCPU(Central Processing Unit)21、ROM23、RAM(Random Access Memory)22、及びインターフェース部25を有する。インターフェース部25には、記憶装置201が接続される。また、インターフェース部25には、車載LAN13経由で、通信装置120、読取装置11が接続される。
【0031】
通信装置120は、たとえば、イグニションスイッチ12に設けられ、電子キー10_2aの通信部32から送信される分散情報d_2を受信し、インターフェース部25を介してCPU21に転送する。また、読取装置11は、ICカードである免許証10_1aから、分散情報d_1を読み取り、インターフェース部25を介してCPU21に転送する。また、記憶装置201は、たとえばROM(Read Only Memory)を有し、ROM内に照合用の秘密情報Sを格納する。
【0032】
CPU21は、通信装置120や読取装置11から転送される分散情報に基づいて、認証処理を行う。このときCPU21は、ROM23に格納される処理プログラムに従って、秘密情報の算出やその認証処理を実行する。処理に必要な各種データやプログラムは、RAM22に一時的に格納される。
【0033】
上記イモビライザシステムにおける認証処理について、図4、図5を用いて説明する。まず、エンジンECU20aは、免許証10_1aが有する分散情報d_1と、電子キー10_2aが有する分散情報d_2とに基づいて秘密情報S_1、2を求める。具体的には、エンジンECU20aは、免許証10_1aから関数f1(x)とパラメータX1を含む分散情報d_1を取得し、電子キー10_2aから関数f2(x)とパラメータX2を含む分散情報d_2を取得する。
【0034】
そして、エンジンECU20aは、免許証10_1aから取得した関数f1(X)と、電子キー10_2aから取得したパラメータX2から、秘密情報S_1を算出する。また、エンジンECU20aは、電子キー10_2aから取得した関数f2(X)と、免許証10_1から取得したパラメータX1から、秘密情報S_2を算出する。ここで、秘密情報S_1、S_2は、次の通りである。
秘密情報S_1=a・X2+α
秘密情報S_2=b・X1+β
そして、エンジンECU20aは、算出した秘密情報S_1、S_2が互いに一致し、かつ、照合用の秘密情報Sと一致するときに、免許証10_1aと電子キー10_2aが真正であると認証する。
【0035】
エンジンECU20aは、認証が成立した場合に、イグニションスイッチ12のオンに応答してエンジン始動を許可する。一方、認証が成立しないときには、イグニションスイッチ12がオンされてもエンジン始動を許可しない。このようなイモビライザシステムによれば、たとえば、電子キーにのみ秘密情報を格納しておきその認証を行うような場合と比較すると、セキュリティをより向上させることができる。
【0036】
図6は、第1実施形態の認証システムが適用される第2実施例について説明する図である。第2実施例では、認証システムは、車両のタイヤの空気圧を監視する、空気圧監視システムに適用される。分散情報保持デバイス群は、たとえば、タイヤごとに設けられる空気圧センサ10_1b〜4bである。空気圧センサ10_1b〜4bは、たとえば、タイヤの空気圧を検知する圧電素子と、検知した空気圧を無線送信する通信装置を有する。また、空気圧センサ10_1〜4bは、それぞれ分散情報d_11〜14を有する。
【0037】
認証デバイス20は、たとえばボディECU(Electronic Control Unit)20bである。ボディECU20bには、ここでは図示を省略する無線通信装置が、LIN(Local Interconnect Network)などの車載LAN27を介して接続される。これにより、ボディECU20bは、空気圧センサ10_1b〜4bが無線送信する分散情報d_11〜14を受信する。また、ボディECU20bには、記憶装置202が接続される。記憶装置202には、照合用の秘密情報Sが格納される。
【0038】
図7は、上記空気圧監視システムの詳細な構成例である。空気圧センサ10_1b〜4bは、それぞれ、分散情報d_11〜14を格納する記憶部33と、記憶部33から読み出された分散情報を無線送信する通信部32とを有する。ボディECU20bは、たとえばバス24により接続されるCPU21、ROM23、RAM(Random Access Memory)22、及びインターフェース部25を有する。
【0039】
インターフェース部25には、記憶装置202が接続される。またインターフェース部25には、車載LAN27を介して通信装置122が接続される。記憶装置202は、たとえばROMを有する。この、ROMには、図5で示したように、照合用の秘密情報Sが格納される。通信装置122は、空気圧センサ10_1b〜4bの通信部32から送信される分散情報d_11〜14を受信し、インターフェース部25を介してCPU21に転送する。
【0040】
CPU21は、通信装置122から転送される分散情報d_11〜14に基づいて、認証処理を行う。このときCPU21は、ROM23に格納される処理プログラムに従って、秘密情報の算出やその認証処理を実行する。このとき、処理に必要なデータは、RAM22に一時的に格納される。
【0041】
上記空気圧監視システムにおける認証処理について、図6、図7を用いて説明する。認証処理では、ボディECU20bが、空気圧センサ10_1b〜4bがそれぞれ有する分散情報d_11〜14に基づいて秘密情報S_1〜4を求める。具体的には、ボディECU20bは、空気圧センサ10_1b〜4bからそれぞれ分散情報d_11〜14を取得する。分散情報d_11は、関数f1(x)とパラメータX1を含む。また、分散情報d_12は、関数f2(x)とパラメータX2を含む。また、分散情報d_13は、関数f3(x)とパラメータX3を含む。そして、分散情報d_14は、関数f4(x)とパラメータX4を含む。
【0042】
ここで、パラメータX1〜4(X1≠X2≠X3≠X4)は、任意に決定されるパラメータである。そして、秘密情報をSとしたとき、関数f1〜4(X)は、それぞれ次のような線形方程式である。
関数f1(X)=a・X+α (ただし、aは任意の係数、定数項α=S−a・(X2+X3+X4))
関数f2(X)=b・X+β (ただし、b(≠a)は任意の係数、定数項β=S−b・(X1+X3+X4))
関数f3(X)=c・X+γ (ただし、c(≠a、かつ≠b)は任意の係数、定数項γ=S−c・(X1+X2+X4))
関数f4(X)=d・X+δ (ただし、d(≠a、≠b、かつ≠c)は任意の係数、定数項δ=S−d・(X1+X2+X3))
ボディECU20bは、空気圧センサ10_1bから取得した関数f1(X)に、空気圧センサ10_2b〜4bから取得したパラメータX2〜4の和を代入し、秘密情報S_1を算出する。また、ボディECU20bは、空気圧センサ10_2bから取得した関数f2(X)に、空気圧センサ10_1b、10_3b、及び10_4bから取得したパラメータX1、X3、及びX4の和を代入し、秘密情報S_2を算出する。また、ボディECU20bは、空気圧センサ10_3bから取得した関数f3(X)に、空気圧センサ10_1b、10_2b、及び10_4bから取得したパラメータX1、X2、及びX4の和を代入し、秘密情報S_3を算出する。そして、ボディECU20bは、空気圧センサ10_4bから取得した関数f4(X)に、空気圧センサ10_1〜3bから取得したパラメータX1〜X3の和を代入し、秘密情報S_4を算出する。ここで、秘密情報S_1〜4は、次のとおりである。
秘密情報S_1=a・(X2+X3+X4)+α
秘密情報S_2=b・(X1+X3+X4)+β
秘密情報S_3=c・(X1+X2+X4)+γ
秘密情報S_4=d・(X1+X2+X3)+δ
そして、ボディECU20bは、算出した秘密情報S_1〜4が一致し、かつ、照合用の秘密情報Sと一致するときに、空気圧センサ10_1b〜4bが真正であると認証する。
【0043】
ボディECU20bは、認証が成功したときには、たとえばエンジンECUにエンジン始動を許可する信号を送信する。一方、認証が成立しないときには、エンジン始動を禁止する信号を送信する。このようにすることで、非正規品の空気圧センサが用いられることで適確な空気圧監視ができなくなるといった事態を回避できる。
【0044】
図8は、第2実施例における変形例について説明する図である。この変形例では、空気圧センサ10_1b〜4bのそれぞれが、他の空気圧センサからパラメータを取得して自らの関数により秘密情報を求める点が、第2実施例と異なる。かかる動作を行うための空気圧監視システムの詳細な構成例が、図9に示される。空気圧センサ10_1b〜4bは、それぞれ、分散情報d_11〜14を格納する記憶部33と、記憶部33から読み出された分散情報のうち、パラメータを無線送信する通信部32とを有し、さらに、演算処理部34を有する。演算処理部34は、他の空気圧センサから取得したパラメータから、自らの関数により秘密情報を算出する。演算処理部34は、たとえばマイクロコンピュータである。ただし、演算処理部34は、加乗算のみを行なう簡易な演算回路をもつ安価な演算装置でよい。なお、ボディECU20bは、図5で示した構成と同じである。
【0045】
変形例における認証処理について、図8、図9を用いて説明する。まず、空気圧センサ10_1bが、他の空気圧センサ10_2b〜4bから、それぞれのパラメータX2〜X4を取得する。たとえば、空気圧センサ10_2b〜4bは、それぞれのパラメータX2〜X4をボディECU20bに無線送信する。そして、ボディECU20bが、パラメータX2〜X4を空気圧センサ10_1bに無線送信する。次に、空気圧センサ10_1bは、自らの関数f1(X)により、パラメータX2〜X4から秘密情報S_1を算出する。そして、空気圧センサ10_1bは、算出した秘密情報S_1をボディECU20bに送信する。
【0046】
また、空気圧センサ10_2b〜4bが、同様の処理を行う。たとえば、空気圧センサ10_2bは、他の空気圧センサ10_1b、10_3b、及び10_4bから、ボディECU20bを介してそれぞれのパラメータX1、X3、及びX4を取得する(図示省略)。そして、空気圧センサ10_1bは、自らの関数f2(X)により、パラメータX1、X3、及びX4から秘密情報S_2を算出する。そして、空気圧センサ10_2bは、算出した秘密情報S_2をボディECU20bに送信する。さらに、空気圧センサ10_3bが、他の空気圧センサ10_1b、10_2b、及び10_4bから、ボディECU20bを介してそれぞれのパラメータX1、X2、及びX4を取得する(図示省略)。そして、空気圧センサ10_3bは、自らの関数f3(X)により、パラメータX1、X2、及びX4から秘密情報S_3を算出する。そして、空気圧センサ10_3bは、算出した秘密情報S_3をボディECU20bに送信する。さらに、空気圧センサ10_4bが、他の空気圧センサ10_1b〜3bから、ボディECU20bを介してそれぞれのパラメータX1〜X3を取得する(図示省略)。そして、空気圧センサ10_4bは、自らの関数f4(X)により、パラメータX1〜X3から秘密情報S_4を算出する。そして、空気圧センサ10_4bは、算出した秘密情報S_4をボディECU20bに送信する。
【0047】
そして、ボディECU20bは、秘密情報S_1〜S_4が一致し、かつ、照合用の秘密情報Sと一致するときに、空気圧センサ10_1b〜4bを認証する。
【0048】
この変形例では、空気圧センサ10_1b〜4bは、それぞれの関数f1〜4を他の空気圧センサに送信しないので、これらの情報が伝送経路上で第三者などに不正に取得されることを回避できる。また、パラメータX1〜4が不正に取得され、これを格納して模倣された不正な空気圧センサが車両に取り付けられたとしても、次のようにしてそのことを検出することができる。
【0049】
図10は、不正な空気圧センサを検出する処理について説明する図である。図10では、図8で示した真正の空気圧センサ10_4bの代わりに、不正な空気圧センサ10_5bが取り付けられた状態が示される。不正な空気圧センサ10_5bには、模倣された不正な分散情報d_15が格納される。分散情報d_15は、不正に取得された空気圧センサ10_4bの真正のパラメータX4を含む。一方、真正の空気圧センサ10_4bの関数f4(X)は、図8で示したように、他の空気圧センサに転送されることがないので不正に取得される蓋然性が低い。よって、不正な分散情報d_15は、真正の関数f4(X)とは異なる不正な関数f5(X)を含むか、あるいは、関数を含まない。
【0050】
このような状態で、不正な空気圧センサ10_5bが、他の真正の空気圧センサ10_1b〜3bに対し、真正のパラメータX4を送信する。すると、空気圧センサ10_1b〜3bによりそれぞれ求められる秘密情報S_1〜3は互いに一致し、かつ照合用の秘密情報とも一致する。一方、不正な空気圧センサ10_5bでは、空気圧センサ10_1b〜3bから送信される真正のパラメータX1〜X3を用いたとしても、不正な関数f5(X)を用いることで、不正の秘密情報S_5が算出される。よって、ボディECU20bは、空気圧センサ10_5bが不正な秘密情報S_5を算出することを検出することで、空気圧センサ10_5bを不正品と判定することができる。
【0051】
たとえば、ボディECU20bは、空気圧センサ10_5bから送信される不正な秘密情報S_5を、真正の秘密情報S_1〜3とマッチングさせ、不一致であることを検出する。あるいは、空気圧センサ10_5bが関数を有していなければ、秘密情報が算出されない。よって、ボディECU20bは、空気圧センサ10_5bから秘密情報が送信されないことを判定することで、空気圧センサ10_5bが不正品であることを検出できる。
【0052】
このような変形例によれば、秘密情報S_1〜4のいずれかが他と一致しない場合や、いずれかが欠落したときに、不正な空気圧センサを検出することができる。なお、ボディECU20bは、不正な空気圧センサを検出したときに、エンジンECUに対してエンジン始動を禁止する制御信号を送信することに加え、たとえば、不正品を検出したことを示す情報を、表示出力したり音声出力したりすることができる。このようにして、安全性を向上させることができる。
【0053】
図11は、第1実施形態における認証システムの動作手順例について説明するフローチャート図である。図11に示される手順は、分散情報の生成・設定手順例である。この手順例には、分散情報生成装置1の動作手順が含まれる。分散情報生成装置1は、たとえば、図4で示したイモビライザシステムや図6で示した空気圧監視システムの製造者における上位システムである。分散情報生成装置1は、分散情報保持デバイス10_1〜nに対するパラメータX1〜nを生成する(Step2)。そして、分散情報生成装置1は、秘密情報SとパラメータX1〜n、及び変数項の係数から定数項を決定し、関数f1〜nを決定する(Step4)。そして、分散情報生成装置1は、関数f1〜nとパラメータX1〜nを分散情報保持デバイス10_1〜nに配布する(Step6)。なお、手順Step6は、操作者により手動あるいは半自動で行われてもよい。そして、各分散情報保持デバイス10_1〜nは、それぞれの関数f1〜nとパラメータX1〜nを格納する(Step8)。
【0054】
図12は、第1実施形態における認証システムの動作手順例について説明するフローチャート図である。図12に示される手順は、秘密情報の算出処理と、認証処理の手順例である。まず、認証を必要とする処理が要求される(Step10)。たとえば、イモビライザシステムの場合、または空気圧監視システムの場合には、イグニションスイッチが機械的にオンされる。そして、秘密情報を求めるために分散情報が収集される(Step12)。たとえば、認証デバイス20が分散情報保持デバイス10_1〜nから関数とパラメータとを取得する。あるいは、分散情報保持デバイス10_1〜nの全て、もしくはいずれかが、他の分散情報デバイスからパラメータ、またはパラメータと関数を取得する。
【0055】
そして、関数ごとに(またはパラメータごとに)、秘密情報S_1〜nが求められる(Step14)。たとえば、認証デバイス20が、分散情報保持デバイス10_1〜nから取得した関数ごとに(またはパラメータごとに)、秘密情報S_1〜nを算出する。あるいは、分散情報保持デバイス10_1〜nの全て、もしくはいずれかが、他の分散情報デバイスから取得した関数ごとに(またはパラメータごとに)、秘密情報S_1〜nを算出する。
【0056】
そして、求められた全ての秘密情報S_1〜nが一致しており(Step16のYES)、かつ、求められた全ての秘密情報S_1〜nが照合用の秘密情報Sと一致しているときに(Step18のYES)、認証を必要とする処理を実行し(Step20)、処理が終了される。たとえば、手順Step16の判定処理は、認証デバイス20、または秘密情報保持デバイス10_1〜nのいずれかで行われる。また、手順Step18の判定処理は、認証デバイス20で行われる。また、認証を必要とする処理は、たとえば、エンジンのスタートを許可する制御信号の出力などである。
【0057】
一方、求められた全ての秘密情報が一致していないとき(Step16のNO)、あるいは、求められた全ての秘密情報が照合用の秘密情報と一致していないとき(Step18のNO)には、エラー処理が実行される。エラー処理は、たとえば、エンジンのスタートを禁止する制御信号の出力、警告情報の出力などである。
【0058】
上記のような第1実施形態によれば、セキュリティを向上させるとともに、秘密情報を求めるための演算負荷を小さくすることができる。よって、認証システムの低コスト化が可能になる。
【0059】
[第2実施形態]
第2実施形態における認証システムは、n個の分散情報デバイス群のうち、(n−2)個以下の分散情報デバイスが有するパラメータから秘密情報を求めるための関数と、当該(n−2)個以下の分散情報デバイスが有する関数により前記秘密情報を求めるためのパラメータとを有する親デバイスをさらに有する。
【0060】
図13は、第2実施形態における認証システムの構成例を示す図である。図13は、図2で示した第1実施形態の構成例に、親デバイス100が追加されたものである。親デバイス100は、たとえば、分散情報保持デバイス10_2が有するパラメータX2から秘密情報Sを求めるための関数F(X)を有する。関数F(X)は、たとえば、次のような線形方程式である。
関数F(X)=m・X+θ (ただしmは任意の係数、定数項θ=S−m・X2)
また、親デバイス100は、分散情報保持デバイス10_2が有する関数f2(X)から秘密情報Sを求めるためのパラメータX1+X3を有する。
【0061】
第1実施形態では、図2で示したように、分散情報保持デバイス10_1〜3が有する関数f1(X)〜f3(X)ごとに秘密情報S_1〜3を求めるには、他の2つの分散情報保持デバイスが有するパラメータを用いた。これに対し、第2実施形態では、親デバイス100が有する関数F(X)を用いることで、1つの分散情報保持デバイス10_2が有するパラメータX2のみから秘密情報mSを求めることができる。また、親デバイス100が有するパラメータ(X1+X3)を用いることで、分散情報保持デバイス10_2が有する関数f2(X)から秘密情報S_2を求めることができる。そして、秘密情報mSと秘密情報S_2が一致することで、分散情報保持デバイス10_2の認証が行われる。
【0062】
すなわち、親デバイス100は、分散情報保持デバイス10_1〜3のそれぞれより少ない数の分散情報デバイスと協働することで認証を可能にする。換言すれば、親デバイス100だけで、分散情報保持デバイス10_1及び3と同等の機能を有する。よって、親デバイス100は、分散情報保持デバイス10_1〜3より上位の権限を有する。このようにして、親デバイス100と分散情報保持デバイス10_1〜3を階層化することができる。
【0063】
第2実施形態の認証システムは、たとえば次のようなシステムに適用される。
【0064】
図14は、認証システムがイモビライザシステムに適用される第3実施例を示す図である。このイモビライザシステムでは、分散情報保持デバイス10_1〜nは、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dである。安全制御装置10_2dは、たとえば、速度制御機能を有するECUである。また、認証デバイス20は、エンジンECU20dである。そして、親デバイス100は、上位キー100dである。
【0065】
電子キー10_1d、安全制御装置10_2d、及び免許証10_3dには、分散情報生成装置1により生成された分散情報が格納される。たとえば、電子キー10_1dは、関数f1(X)とパラメータX1を有する。また、安全制御装置10_2dは、関数f2(X)とパラメータX2を有する。そして、免許証10_3dは、関数f3(X)とパラメータX3を有する。
【0066】
エンジンECU20dは、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dからそれぞれ取得する関数f1(X)〜f3(X)と、パラメータX1〜3により、次のような秘密情報S_1〜3を算出する。
秘密情報S_1=f1(X2+X3)
秘密情報S_2=f2(X1+X3)
秘密情報S_3=f3(X1+X2)
そして、エンジンECU20dは、秘密情報S_1〜3が互いに一致し、かつ照合用秘密情報Sと一致するときに、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dを認証して、エンジン始動を許可する。
【0067】
上位キー100dには、分散情報生成装置1により生成された分散情報が格納される。たとえば、上位キー100dは、安全制御装置10_2dのパラメータX2のみから秘密情報mSを求める関数F(X)と、安全制御装置10_2dの関数f2(X)により秘密情報S_2を求めるためのパラメータ(X1+X3)を有する。上位キー100dは、たとえばカーディーラーに保管される。
【0068】
上位キー100dは、たとえば、電子キー10_1dと免許証10_3dのいずれか一方または両方を紛失したような場合に、用いられる。エンジンECU20dは、上位キー100dと安全制御装置10_2dからそれぞれ関数F(X)、f2(X)と、パラメータ(X1+X3)とX2を取得する。そして、エンジンECU20dは、次のような秘密情報mSと、S_2を算出する。
秘密情報mS=F(X2)
秘密情報S_2=f2(X1+X3)
そして、エンジンECU20dは、秘密情報mSとS_2が互いに一致し、かつ照合用秘密情報Sと一致するときに、認証を行い、エンジン始動を許可する。
【0069】
このように、第3実施例によれば、電子キー10_1d、安全制御装置10_2d、及び免許証10_3dの全てがそろわなくても、上位キー100dを用いることでエンジンを始動させることができる。よって、通常の使用時におけるセキュリティを確保しつつ、電子キー10_1dや免許証10_3dの紛失時であってもエンジンを始動できるので、利便性が向上する。
【0070】
図15は、認証システムがカーナビゲーションシステムに適用される第4実施例を示す図である。このナビゲーションシステムは、サービス提供者のサーバからダウンロードしたソフトウェアの使用権限を認証する。ダウンロードされるソフトウェアは、たとえば、地図情報を有する観光ガイドアプリケーションなどである。
【0071】
このナビゲーションシステムでは、分散情報生成装置1が、分散情報を生成するとともに、ダウンロード用のソフトウェア50を有する。分散情報生成装置1は、図示を省略する公衆通信回線網に接続される。よって、ナビゲーション装置52が公衆通信回線網に接続することで、分散情報生成装置1からナビゲーション装置52にソフトウェア50がダウンロードされる。
【0072】
また、このナビゲーションシステムでは、分散情報保持デバイス10_1〜nは、第1の可搬性メモリ10_1e、パスワード管理モジュール10_2e、及び第2の可搬性メモリ10_3eである。可搬性メモリ10_1e、10_3eは、たとえばUSBメモリ、メモリカードなどである。パスワード管理モジュール10_2eは、たとえば、ナビゲーション装置52内に設けられ、ユーザが入力するパスワードに基づき分散情報を復号する。また、認証デバイス20eは、たとえばナビゲーション装置52内に設けられる。認証デバイス20eは、たとえば、ソフトウェア50をダウンロードして実行するモジュールに設けられる。そして、親デバイス100は、第3の可搬性メモリ100eである。可搬性メモリ100eは、たとえば、USBメモリやメモリカードである。
【0073】
可搬性メモリ10_1e、パスワード管理モジュール10_2eには、分散情報生成装置1により生成された分散情報が格納される。たとえば、可搬性メモリ10_1eは、関数f1(X)とパラメータX1を有する。たとえば、公衆通信回線網を介して分散情報生成装置1に接続されるパーソナルコンピュータにより、関数f1(X)とパラメータX1が取得され、可搬性メモリ10_1eに格納される。
【0074】
また、パスワード管理モジュール10_2eは、関数f2(X)とパラメータX2を有する。関数f2(X)とパラメータX2は、分散情報生成装置1から、ソフトウェア50の一部としてダウンロードされる。パスワード管理モジュール10_2eは、ユーザがナビゲーション装置52に対して入力するパスワードから、関数f2(X)とパラメータX2を復号して保持する。
【0075】
可搬性メモリ10_3eは、関数f3(X)とパラメータX3を有する。たとえば、公衆通信回線網を介して分散情報生成装置1に接続されるパーソナルコンピュータにより、関数f3(X)とパラメータX3が取得され、可搬性メモリ10_3eに格納される。あるいは、可搬性メモリ10_3eは、たとえば認証デバイス20eから関数f3(X)とパラメータX3を取得する。認証デバイス20eは、たとえば、ダウンロードされたソフトウェア50に従って、ナビゲーション装置52の機体番号などの固有番号に基づき関数f3(X)とパラメータX3を生成する。この場合、生成されたパラメータX3は、分散情報生成装置1にアップロードされて先の関数f1(X)とパラメータX1を生成するために、分散情報生成装置1に保持される。
【0076】
一方、可搬性メモリ100eには、分散情報生成装置1により生成された関数F(X)とパラメータ(X1+X3)が格納される。たとえば、公衆通信回線網を介して分散情報生成装置1に接続されるパーソナルコンピュータにより、関数F(X)とパラメータ(X1+X3)が取得され、可搬性メモリ100eに格納される。関数F(X)によれば、パスワード管理モジュール10_2eのパラメータX2のみから秘密情報mSが求められる。また、パラメータ(X1+X3)から、パスワード管理モジュール10_2eの関数f2(X)により秘密情報S_2が求められる。
【0077】
認証デバイス20eは、ナビゲーション装置52に接続される可搬性メモリ10_1e、ユーザのパスワード入力に基づき関数f2(X)とパラメータX2を生成するパスワード管理モジュール10_2e、及びナビゲーション装置52に接続される可搬性メモリ10_3eからそれぞれ関数f1(X)〜f3(X)と、パラメータX1〜3を取得して、次のような秘密情報S_1〜3を算出する。
秘密情報S_1=f1(X2+X3)
秘密情報S_2=f2(X1+X3)
秘密情報S_3=f3(X1+X2)
そして、認証デバイス20eは、秘密情報S_1〜3が互いに一致し、かつ照合用秘密情報Sと一致するときに、可搬性メモリ10_1e、パスワード管理モジュール10_2e、及び可搬性メモリ10_3eを認証して、ソフトウェア50の実行を許可する。あるいは、認証デバイス20eは、可搬性メモリ100eとパスワード管理モジュール10_2eからそれぞれ関数F(X)、f2(X)と、パラメータ(X1+X3)とX2を取得する。そして、認証デバイス20eは、次のような秘密情報mS、S_2を算出する。
秘密情報mS=F(X2)
秘密情報S_2=f2(X1+X3)
そして、認証デバイス20eは、秘密情報mSとS_2が互いに一致し、かつ照合用秘密情報Sと一致するときに、認証を行い、ソフトウェア50の実行を許可する。
【0078】
このようなナビゲーションシステムは、たとえば、ソフトウェア50の試用期間中は、可搬性メモリ100eとパスワード認証モジュール10_2eによるパスワード認証とにより、ソフトウェア50の実行を許可する。ソフトウェア50を試用するユーザは、たとえばパーソナルコンピュータにより、公衆通信回線網経由で、分散情報生成装置1から関数F(X)とパラメータ(X1+X3)を取得して、可搬性メモリ100eに格納する。
【0079】
そして、ソフトウェア50の試用期間経過後は、可搬性メモリ100eの関数F(X)がソフトウェア50により無効化される。それとともに、可搬性メモリ10_1eに格納する分散情報、つまりライセンスの購入を、ユーザに促す。ライセンスを購入するユーザは、たとえばパーソナルコンピュータにより、公衆通信回線網経由で、分散情報生成装置1から関数f1(X)とパラメータX1を取得(購入)して、可搬性メモリ10_1eに格納する。そして、ユーザがライセンスを購入した後は、可搬性メモリ10_1e、パスワード認証モジュール10_2e、及び可搬性メモリ10_3eの全てが認証されたときに、ソフトウェア50の実行が許可される。
【0080】
このように、第4実施例によれば、ソフトウェア50の試用期間中は、使用のための条件を緩くしておきユーザの購買意欲を喚起できる。使用期間経過後には、使用のための条件を厳しくすることで、ライセンスを購入したユーザに、高いセキュリティを提供することができるので、利便性が向上する。
【0081】
図16は、第2実施形態における認証システムの動作手順例について説明するフローチャート図である。図16(A)に示される手順は、分散情報の生成・設定手順例である。分散情報生成装置1は、分散情報保持デバイス10_1〜nに対するパラメータX1〜nを生成する(Step102)。そして、分散情報生成装置1は、秘密情報SとパラメータX1〜n、及び変数項の係数から定数項を決定し、関数f1〜nを決定する(Step104)。
【0082】
そして、分散情報生成装置1は、図16(B)に示されるような階層定義テーブルTBLに従い、親デバイス用の関数F(X)を生成する(Step105)。階層定義テーブルTBLでは、たとえば、分散情報保持デバイス10_1〜nごとに、パラメータの数で階層が定義される。たとえば、分散情報保持デバイス10_1〜3は、それぞれ1つのパラメータを有するが、親デバイス100は2つのパラメータX1、X3の和を有する。よって、親デバイス100が、分散情報保持デバイス10_1〜3より上位の階層として定義される。かかる階層テーブルTBLは、たとえば分散情報生成装置1内部の記憶装置に格納される。
【0083】
そして、関数f1〜nとパラメータX1〜nが、分散情報保持デバイス10_1〜nに配布されるとともに、関数F(X)と親デバイスのパラメータ(たとえばX1、X3の和)が、親デバイス100に配布される(Step106)。そして、各分散情報保持デバイス10_1〜nは、それぞれの関数f1〜nとパラメータX1〜nを、親デバイス100は、関数F(X)と親デバイスのパラメータ(たとえばX1、X3の和)を格納する(Step108)。
【0084】
図17は、第2実施形態において、親デバイスを用いたときの認証処理の動作手順例について説明するフローチャート図である。まず、認証を必要とする処理が要求される(Step110)。たとえば、イモビライザシステムの場合には、イグニションスイッチが機械的にオンされる。あるいは、ナビゲーションシステムの場合には、ナビゲーション機能が起動される。
【0085】
そして、秘密情報を求めるために分散情報が収集される(Step112)。たとえば、認証デバイス20が親デバイス100と分散情報保持デバイス10_2から関数とパラメータとを取得する。そして、関数ごとに、秘密情報が求められる(Step114)。たとえば、認証デバイス20が、親デバイスから取得した関数F(X)により秘密情報mSを算出し、分散情報保持デバイス10_2から取得した関数f2(X)により秘密情報S_2を算出する。
【0086】
そして、求められた秘密情報が一致しており(Step116のYES)、かつ、求められた秘密情報が照合用の秘密情報Sと一致しているときに(Step118のYES)、認証を必要とする処理を実行し(Step120)、処理が終了される。たとえば、認証デバイス20が、手順Step116,118の判定処理を行う。
【0087】
また、認証を必要とする処理は、たとえば、エンジンのスタートを許可する制御信号の出力や、ソフトウェアの実行などである。一方、求められた全ての秘密情報が一致していないとき(Step116のNO)、あるいは、求められた全ての秘密情報が照合用の秘密情報と一致していないとき(Step118のNO)には、エラー処理が実行される。エラー処理は、たとえば、エンジンのスタートを禁止する制御信号の出力や、ソフトウェアの実行中止などである。
【0088】
上記のような第2実施形態によれば、認証システムにおいて、分散情報保持デバイスを階層化することができ、ユーザの利便性が向上する。
【0089】
以上の実施の形態をまとめると、次の付記のとおりである。
【0090】
(付記1)
それぞれが異なる関数と異なるパラメータとを有するデバイス群と、
前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システム。
【0091】
(付記2)
付記1において、
前記認証デバイスは、さらに、前記求められた秘密情報群が記憶装置に格納された秘密情報と一致することを条件に、前記デバイス群を認証する認証システム。
【0092】
(付記3)
付記1において、
前記認証デバイスは、前記デバイス群の各デバイスから前記関数と前記パラメータを取得して、前記秘密情報を求める処理を前記デバイス群の各デバイスについて実行する認証システム。
【0093】
(付記4)
付記1において、
前記デバイス群の各デバイスは、他のデバイスから前記パラメータを取得して、当該取得したパラメータと自らの前記関数とを用いて前記秘密情報を求め、当該求めた秘密情報を前記認証デバイスに転送する認証システム。
【0094】
(付記5)
付記1において、
前記デバイス群に含まれるデバイスの個数をnとして、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外の(n−1)個のデバイスが有する前記パラメータから前記秘密情報が求められ、
(n−2)個以下のデバイスが有する前記パラメータから前記秘密情報を求めるための関数と、当該(n−2)個以下のデバイスが有する関数により前記秘密情報が求めるためのパラメータとを有する親デバイスをさらに有し、
前記認証デバイスは、前記親デバイスが有する前記関数と前記(n−2)個以下のデバイスが有する前記パラメータから求められた秘密情報と、前記親デバイスが有する前記パラメータと前記(n−2)個以下のデバイスが有する前記関数から求められた秘密情報とが一致するときに、前記(n−2)個以下のデバイスを認証する認証システム。
【0095】
(付記6)
付記1において、
前記デバイス群に分配するための前記関数群と前記パラメータ群とを前記秘密情報に基づいて生成する生成装置をさらに有する認証システム。
【0096】
(付記7)
付記1乃至6のいずれかにおいて、
前記デバイス群の各デバイスが有する前記関数は、他のデバイスが有する前記パラメータが代入されて前記秘密情報が求められる線形方程式である認証システム。
【0097】
(付記8)
それぞれが異なる関数と異なるパラメータとを有するデバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから秘密情報を求め、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から秘密情報を求め、
前記求められた秘密情報群が一致するときに前記デバイス群を認証する、認証方法。
【符号の説明】
【0098】
1:分散情報生成装置、10_n:分散情報保持デバイス、20:認証デバイス、
100:親デバイス
【特許請求の範囲】
【請求項1】
それぞれが異なる関数と異なるパラメータとを有するデバイス群と、
前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システム。
【請求項2】
請求項1において、
前記認証デバイスは、さらに、前記求められた秘密情報群が記憶装置に格納された秘密情報と一致することを条件に、前記デバイス群を認証する認証システム。
【請求項3】
請求項1において、
前記デバイス群の各デバイスは、他のデバイスから前記パラメータを取得して、当該取得したパラメータと自らの前記関数とを用いて前記秘密情報を求め、当該求めた秘密情報を前記認証デバイスに転送する認証システム。
【請求項4】
請求項1において、
前記デバイス群に含まれるデバイスの個数をnとして、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外の(n−1)個のデバイスが有する前記パラメータから前記秘密情報が求められ、
(n−2)個以下のデバイスが有する前記パラメータから前記秘密情報を求めるための関数と、当該(n−2)個以下のデバイスが有する関数により前記秘密情報が求めるためのパラメータとを有する親デバイスをさらに有し、
前記認証デバイスは、前記親デバイスが有する前記関数と前記(n−2)個以下のデバイスが有する前記パラメータから求められた秘密情報と、前記親デバイスが有する前記パラメータと前記(n−2)個以下のデバイスが有する前記関数から求められた秘密情報とが一致するときに、前記(n−2)個以下のデバイスを認証する認証システム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記デバイス群の各デバイスが有する前記関数は、他のデバイスが有する前記パラメータが代入されて前記秘密情報が求められる線形方程式である認証システム。
【請求項6】
それぞれが異なる関数と異なるパラメータとを有するデバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから秘密情報を求め、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から秘密情報を求め、
前記求められた秘密情報群が一致するときに前記デバイス群を認証する、認証方法。
【請求項1】
それぞれが異なる関数と異なるパラメータとを有するデバイス群と、
前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから前記関数ごとに求められた秘密情報が、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から前記パラメータごとに求められた秘密情報が一致するときに、前記デバイス群を認証する認証デバイスとを有する認証システム。
【請求項2】
請求項1において、
前記認証デバイスは、さらに、前記求められた秘密情報群が記憶装置に格納された秘密情報と一致することを条件に、前記デバイス群を認証する認証システム。
【請求項3】
請求項1において、
前記デバイス群の各デバイスは、他のデバイスから前記パラメータを取得して、当該取得したパラメータと自らの前記関数とを用いて前記秘密情報を求め、当該求めた秘密情報を前記認証デバイスに転送する認証システム。
【請求項4】
請求項1において、
前記デバイス群に含まれるデバイスの個数をnとして、前記デバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外の(n−1)個のデバイスが有する前記パラメータから前記秘密情報が求められ、
(n−2)個以下のデバイスが有する前記パラメータから前記秘密情報を求めるための関数と、当該(n−2)個以下のデバイスが有する関数により前記秘密情報が求めるためのパラメータとを有する親デバイスをさらに有し、
前記認証デバイスは、前記親デバイスが有する前記関数と前記(n−2)個以下のデバイスが有する前記パラメータから求められた秘密情報と、前記親デバイスが有する前記パラメータと前記(n−2)個以下のデバイスが有する前記関数から求められた秘密情報とが一致するときに、前記(n−2)個以下のデバイスを認証する認証システム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記デバイス群の各デバイスが有する前記関数は、他のデバイスが有する前記パラメータが代入されて前記秘密情報が求められる線形方程式である認証システム。
【請求項6】
それぞれが異なる関数と異なるパラメータとを有するデバイス群のうち一のデバイスが有する前記関数と当該一のデバイス以外のデバイスが有する前記パラメータから秘密情報を求め、または、前記デバイス群のうち一のデバイスが有する前記パラメータと当該一のデバイス以外のデバイスが有する前記関数から秘密情報を求め、
前記求められた秘密情報群が一致するときに前記デバイス群を認証する、認証方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−123587(P2012−123587A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−273129(P2010−273129)
【出願日】平成22年12月8日(2010.12.8)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願日】平成22年12月8日(2010.12.8)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]