上記の候補提示/選択方式についても認証強度は有限であり、IDとパスワードによる認証方式と同様に、正規のユーザ以外の第三者が認証を多数回試行すれば、いずれは正解に辿り着くという脆弱性を有しているものの、この脆弱性は、認証の試行回数を制限したり、回答の組合わせ数が十分に多くなるように提示する選択肢の数を設定する等により、実用上問題の無いレベル迄低下させることが可能である。しかしながら、先に述べた、あぶり出しが可能となってしまうという候補提示/選択方式に特有の脆弱性は、正規のユーザ以外の第三者がこの脆弱性を利用すれば、回答の組合わせ数から算出できる平均試行回数よりも非常に少ない試行回数で正解に辿り着いてしまう可能性がある、という問題がある。
一例として、正解として使用する文字(正解候補文字)5個と、不正解(紛れ)として使用する文字(紛れ候補文字)15個の合計20個の文字の中から、正解文字が毎回2〜5個含まれるように10個の文字を選択し、選択した10個の文字から成る認証用文字列を被認証者に提示し、認証用文字列中の正解文字を被認証者に指定させ、正解文字が正しく指定されたか否かに基づいて被認証者の認証を行う場合を考える。具体的には、例えば正解候補文字がA,B,C,D,Eの5個、紛れ候補文字がf,g,h,i,j,k,l,m,n,o,p,q,r,s,tの15であるとすると、"A,B,f,g,h,i,j,k,l,m"、"n,o,p,q,r,s,t,C,D,E"、"A,B,f,g,h,C,D,i,j,k"、"A,l,B,m,C,n,D,o,E,p"のような認証用文字列が毎回生成・提示されることになる。
この例で、個々の正解候補文字の認証用文字列上での出現確率と、個々の紛れ候補文字の認証用文字列上での出現確率の比率を以下に演算する。まず、この例で生成される認証用文字列の組合わせの数(パターンの総数)を求めると、10個の文字から成る認証用文字列中に2個の正解文字が含まれているケースにおける認証用文字列の組合わせの数(パターンの数)は、5個の正解候補文字から2個の正解文字を選択する場合の組合わせの数を表す5C2と、15個の紛れ候補文字から残りの8個の文字を選択する場合の組合わせの数を表す15C8の積で表される。また、認証用文字列中に3〜5個の正解文字が含まれている他のケースにおける認証用文字列の組合わせの数も同様に求めることができ、この例で生成される認証用文字列の組合わせの数(パターンの総数)は、以下のように各ケースにおける認証用文字列の組合わせの数の総和として求めることができる。
5C2×15C8+5C3×15C7+5C4×15C6+5C5×15C5=156728
一方、特定の正解候補文字が正解文字として含まれている認証用文字列の組合わせの数(パターンの総数)については、10個の文字から成る認証用文字列中に2個の正解文字が含まれているケースにおける認証用文字列の組合わせの数は、10個の文字から成る認証用文字列中の正解文字の1個として特定の正解候補文字が選択されている状態での、残りの9個の文字から成る文字列の組合わせの数に相当し、4個の正解候補文字から1個の正解文字を選択する場合の組合わせの数を表す4C1と、15個の紛れ候補文字から残りの8個の文字を選択する場合の組合わせの数を表す15C8の積で表される。また、認証用文字列中に3〜5個の正解文字が含まれている他のケースにおける認証用文字列の組合わせの数も同様に求めることができるので、特定の正解候補文字が正解文字として含まれている認証用文字列の組合わせの数は、以下のようにして求めることができる。
4C1×15C8+4C2×15C7+4C3×15C6+4C4×15C5=87373
また、特定の紛れ候補文字が紛れ文字として含まれている認証用文字列の組合わせの数(パターンの総数)は、同様に、以下のようにして求めることができる。
5C2×14C7+5C3×14C6+5C4×14C5+5C5×14C4=75361
以上の結果より、認証用文字列上に特定の正解候補文字が出現する確率は、
87373/156728≒55.7%
となる一方、認証用文字列上に特定の紛れ候補文字が出現する確率は、
75361/156728≒48.1%
となる。個々の正解候補文字の認証用文字列上での出現確率は均一(≒55.7%)であり、個々の紛れ候補文字の認証用文字列上での出現確率も均一(≒48.1%)であるので、この例では、認証用文字列上での個々の正解候補文字と個々の紛れ候補文字の出現比率が、
55.7:48.1≒7:6
となる。従って、この例においても、正規のユーザ以外の第三者が、認証用文字列を複数入手し、入手した認証用文字列上での個々の文字の出現頻度を計測すれば、認証用文字列上での個々の文字の出現頻度の差異に基づいて、個々の文字のうちの正解候補文字を弁別するあぶり出しが可能になってしまうことになる。
これに対して非特許文献1は、候補提示/選択方式にはあぶり出しが可能となってしまうという脆弱性があることは指摘しているものの、あぶり出しを回避するための技術については何ら記載されていない。
本発明は上記事実を考慮して成されたもので、認証用要素群の各要素を被認証者へ提示し、正解要素を被認証者に指定させることで被認証者の認証を行う場合に、正解要素があぶり出しによって第三者に弁別されることなく被認証者の認証を行うことができる認証装置及び認証プログラムを得ることが目的である。
認証用要素群の各要素を被認証者へ提示し、認証用要素群中の正解要素を被認証者に指定させることで被認証者の認証を行うために、予め設定された数(tn個)の正解候補要素から成る正解候補要素群より最大jt個、最小jb個の正解要素を選択すると共に、予め設定さえれた数(dn個)の不正解候補から成る不正解候補要素群より、選択した要素の総数がjn個となるように不正解要素を選択して認証用要素群を生成する場合、生成した認証用要素群にjt個〜jb個のうちの互いに異なる数の正解要素が含まれている各ケースの出現比率は通常、各ケース毎の認証用要素群の組合わせの数(パターンの総数)の比率に一致するが、各ケースの出現比率を操作し、認証用要素群に含まれている正解要素の数がより多いケース(不正解要素の数がより少ないケース)の出現比率を相対的に高くしたとすると、個々の正解候補要素の認証用要素群中での出現確率が増大する一方で個々の不正解候補要素の認証用要素群中での出現確率は低下し、認証用要素群に含まれている正解要素の数がより少ないケース(不正解要素の数がより多いケース)の出現比率を相対的に高くしたとすると、個々の正解候補要素の認証用要素群中での出現確率が低下する一方で個々の不正解候補要素の認証用要素群中での出現確率は増大する。
本願発明者は、認証用要素群に含まれる正解要素の数に最大jt個、最小jb個と幅を持たせた場合、上記のように、生成した認証用要素群にjt個〜jb個のうちの互いに異なる数の正解要素が含まれている各ケースの出現比率を操作すれば、認証用要素群中での個々の正解候補要素の出現確率及び個々の不正解候補要素の出現確率(すなわち認証用要素群中の個々の正解候補要素及び個々の不正解候補要素の出現比率)を変化させることができることに基づき、認証用要素群中での個々の正解候補要素及び個々の不正解候補要素の出現比率が等しくなるように各ケースの出現比率を決定し、決定した各ケースの出現比率に従って認証用要素群を生成するようにすれば、正解要素があぶり出しによって第三者に弁別されることを防止できることに想到して本発明を成すに至った。
上記に基づき請求項1記載の発明に係る認証装置は、被認証者の認証に用いる認証用要素群の構成要素として使用可能な要素の情報を複数記憶する記憶手段と、前記認証用要素群中の正解要素として使用するtn個の正解候補要素と前記認証用要素群中の不正解要素として使用するdn個の不正解候補要素から最大jt個、最小jb個(但しjb≦jt<jn)の正解要素を含む総数jn個(但しjnは要求される認証強度に応じて定まる)の要素を前記認証用要素群の構成要素として選択して前記認証用要素群を生成した場合に、生成した前記認証用要素群にjt個〜jb個のうちの互いに異なる数の正解要素が含まれている各ケースの出現比率を、i個の正解要素を含む各ケースの出現頻度を各々p(i)(但し、i=jb,jb+1,…,jt)としたときに、
上記(1)式の偏差Sが最小となる各ケースの出現頻度p(i)を各々求めることで、tn個の正解候補要素の各々の前記認証用要素群中での出現頻度とdn個の不正解候補要素の各々の前記認証用要素群中での出現頻度の差が最小となるように決定する決定手段と、発生させる乱数(≧0)の数値範囲に対応する数直線を、前記決定手段によって決定された前記各ケースの出現比率に応じて前記各ケースの何れかに各々対応する複数の区間に区切り、前記数値範囲内の乱数を発生させ、発生させた乱数が前記複数の区間の何れに属する値かを判断し、発生させた乱数が属する区間に対応するケースにおける正解要素の数を、生成する認証用要素群中の正解要素の数として設定した後に、前記記憶手段に情報が記憶されている複数の要素より選択又は抽出されたtn個の正解候補要素及びdn個の不正解候補要素から、決定した個数の正解要素を含む総数jn個の要素を前記認証用要素群の構成要素として選択又は抽出することで、前記各ケースが前記決定手段によって決定された出現比率に応じた頻度で出現するように前記認証用要素群を生成する生成手段と、前記生成手段によって生成された前記認証用要素群を構成するjn個の要素を被認証者へ各々提示すると共に、提示したjn個の要素のうちの正解要素を被認証者に指定させることで前記被認証者の認証を行う認証手段と、を含んで構成されている。
請求項1記載の発明では、被認証者の認証に用いる認証用要素群の構成要素として使用可能な要素の情報が記憶手段に複数記憶されている。なお、記憶手段に記憶されている要素は被認証者に提示可能な情報(被認証者が視覚や聴覚で認識可能な情報)であればよく、例えば被認証者への提示中に内容が変化しない情報(具体的には、例えば文字列や静止画像等)であってもよいし、被認証者への提示中に被認証者へ与えられる内容が時系列に変化する情報(具体的には、例えば動画像や楽曲等)であってもよい。請求項1記載の発明では、記憶手段に情報が記憶されている複数の要素より選択又は抽出されたtn個の正解候補要素及びdn個の不正解候補要素から、生成手段により、最大jt個、最小jb個の正解要素を含む総数jn個の要素が認証用要素群の構成要素として選択又は抽出されて認証用要素群が生成される。
なお、請求項1記載の発明において、正解候補要素及び不正解候補要素としては、記憶手段に情報が記憶されている個々の要素をそのまま用いてもよいし、記憶手段に情報が記憶されている個々の要素が、被認証者への提示中に被認証者へ与えられる内容が時系列に変化する時系列情報である等の場合には、記憶手段に情報が記憶されている個々の要素から抽出した要素を正解候補要素及び不正解候補要素として用いてもよい。また、記憶手段に情報が記憶されている個々の要素から抽出した要素を正解候補要素及び不正解候補要素として用いる場合、記憶手段に情報が記憶されている個々の要素から抽出する要素の数は1個でもよいし、複数個であってもよい。
ここで、請求項1記載の発明では、認証用要素群中の正解要素として使用するtn個の正解候補要素と認証用要素群中の不正解要素として使用するdn個の不正解候補要素から最大jt個、最小jb個(但しjb≦jt<jn)の正解要素を含む総数jn個(但しjnは要求される認証強度に応じて定まる)の要素を認証用要素群の構成要素として選択して認証用要素群を生成した場合に、生成した前記認証用要素群にjt個〜jb個のうちの互いに異なる数の正解要素が含まれている各ケースの出現比率を、i個の正解要素を含む各ケースの出現頻度を各々p(i)(但し、i=jb,jb+1,…,jt)としたときに、前記(1)式の偏差Sが最小となる各ケースの出現頻度p(i)を各々求めることで、tn個の正解候補要素の各々の前記認証用要素群中での出現頻度とdn個の不正解候補要素の各々の前記認証用要素群中での出現頻度の差が最小となるように決定する。
また生成手段は、発生させる乱数(≧0)の数値範囲に対応する数直線を、決定手段によって決定された前記各ケースの出現比率に応じて前記各ケースの何れかに各々対応する複数の区間に区切り、前記数値範囲内の乱数を発生させ、発生させた乱数が前記複数の区間の何れに属する値かを判断し、発生させた乱数が属する区間に対応するケースにおける正解要素の数を、生成する認証用要素群中の正解要素の数として設定した後に、記憶手段に情報が記憶されている複数の要素より選択又は抽出されたtn個の正解候補要素及びdn個の不正解候補要素から、決定した個数の正解要素を含む総数jn個の要素を認証用要素群の構成要素として選択又は抽出することで、前記各ケースが決定手段によって決定された出現比率に応じた頻度で出現するように認証用要素群を生成する。これにより、生成手段によって生成された認証用要素群中の正解要素と不正解要素の出現比率がtn:dnにおよそ一致することで、認証用要素群中での個々の正解候補要素の出現頻度と個々の不正解要素の出現頻度の差が最小となるように認証要素群が生成されることになる。
そして認証手段は、生成手段によって生成された認証用要素群を構成するjn個の要素を被認証者へ各々提示すると共に、提示したjn個の要素のうちの正解要素を被認証者に指定させることで被認証者の認証を行う。
従って、請求項1記載の発明によれば、認証用要素群中での個々の正解候補要素の出現頻度と個々の不正解候補要素の出現頻度の差が最小となるように認証用要素群を生成することができるので、認証用要素群の各要素を被認証者へ提示し、正解要素を被認証者に指定させることで被認証者の認証を行う場合に、正解要素があぶり出しによって第三者に弁別されることなく被認証者の認証を行うことができる。
ところで、例えば認証用要素群の構成要素の総数jn=10、認証用要素群に含まれる正解要素の最大数jt=5、最小数jb=2の条件で認証用要素群を生成するにあたり、正解候補要素の数tn=5、不正解候補要素の数dn=15であった場合、 認証用要素群中での個々の正解候補要素及び個々の不正解要素の出現頻度の差が最小となる各ケースの出現頻度の組合わせは、本願発明者が試算した結果によれば、正解要素数=2のケースの出現頻度をp(2)、正解要素数=3のケースの出現頻度をp(3)、正解要素数=4のケースの出現頻度をp(4)、正解要素数=5のケースの出現頻度をp(5)とすると、
(p(2),p(3),p(4),p(5))=(9,1,1,1),(14,3,2,1),(16,8,1,1),(30,10,5,1),…
となる。上記より明らかなように、何れの組合わせにおいても正解要素数jn=2のケースの出現頻度p(2)が他のケースの出現頻度p(3),p(4),p(5)より明らかに高く、各ケースの出現頻度が不自然に偏っているので実用上好ましくない。
これに対し、同一の条件で正解候補要素の数tn=5、不正解候補要素の数dn=10とした場合、認証用要素群中での個々の正解候補要素及び個々の不正解要素の出現頻度の差が最小となる各ケースの出現頻度の組合わせは、本願発明者が試算した結果によれば、
(p(2),p(3),p(4),p(5))=(2,2,1,2),(2,3,2,2),(3,3,4,2),…
となり、実用上問題の無い程度に迄各ケースの出現頻度の偏りが小さくなっている。なお、上記では各ケースの出現頻度の組合わせの一例として、各ケースの出現頻度p(i)を各々整数値として求めた組合わせを示しているが、各ケースの出現頻度p(i)は整数値として求めることに限られるものではない。
上記に基づき、請求項1記載の発明において、例えば請求項2に記載したように、認証用要素群中の正解要素として使用する正解候補要素の数tn及び前記認証用要素群中の不正解要素として使用する不正解候補要素の数dnのうち、前記正解候補要素の数tnを設定するか、又は予め設定された前記正解候補要素の数tnを取得した後に、
を満たす前記不正解候補要素の数dnを演算することで、前記各ケースの出現比率のばらつきが最小となる前記正解候補要素の数tn及び前記不正解候補要素の数dnを設定する設定手段を設けることが好ましい。これにより、含まれる正解要素の数が互いに異なる各ケースの出現頻度の偏りを均すことが可能となる。なお、請求項2記載の発明において、例えば正規の被認証者の年齢や認証操作に対する習熟度等に応じて正解候補要素の数tn及び不正解候補要素の数dnを増減する等のtn,dnの調整を設定手段が行うようにしてもよい。また、認証用要素群の組合わせ数は認証強度に相当し、正解候補要素の数tn及び不正解候補要素の数dnに応じて変化するので、請求項2記載の発明において、設定手段は、認証用要素群の組合わせ数が所定値以上となるように正解候補要素の数tn及び不正解候補要素の数dnを設定することが望ましい。
なお、正解候補要素の数tn及び不正解候補要素の数dnの設定は、例えば正解候補要素の数tn及び不正解候補要素の数dnのうちの一方の値を決定した後に、正解候補要素の数tn及び不正解候補要素の数dnのうちの他方の値を変化させながら、前記他方の値が各値のときの前記各ケースの出現比率(のばらつき)を試算することを繰り返し、前記各ケースの出現比率のばらつきが最小となる前記他方の値を求めることによって行うことも可能ではあるが、この場合、正解候補要素の数tn及び不正解候補要素の数dnの設定に時間が掛かると共に、正解候補要素の数tn及び不正解候補要素の数dnの設定に掛かる時間自体も一定しないという不都合がある。請求項2記載の発明ではこれを考慮し、設定手段は、例えば請求項3に記載したように、正解候補要素の数tnを設定するか、又は予め設定された正解候補要素の数tnを取得した後に、上記(2)式を満たす不正解候補要素の数dnを演算することで、前記各ケースの出現比率のばらつきが最小となる正解候補要素の数tn及び不正解候補要素の数dnを設定している。
以下、上記(2)式の導出過程について説明する。各ケースの出現比率のばらつきは前出の(1)式の偏差Sで表される。ここで、望ましい認証条件は各ケースの出現比率のばらつきが0(すなわち偏差S=0)の状態であり、この望ましい認証条件では次の(3)式が成り立つ。
更に、理想的な認証条件は各ケースの出現頻度p(i)が全て等しい状態(各ケースの出現頻度p(i)=一定値の状態)であることから、理想的な認証条件では、上記の(3)式から各ケースの出現頻度p(i)も消去できることで、次の(4)式が得られる。
上記の(4)式を不正解候補要素の数dnについて解くと、
上記の(5)式が得られる。また、認証用要素群に含まれる正解要素の数iは整数であり、上記の(5)式の右辺の分母(Σ)に対して、次の(6)式の公式が成り立つ。
そして、(6)式の公式を用いて(5)式を単純化することで前出の(2)式が得られる。このように、前出の(2)式は、認証用要素群を構成する要素の総数jn、認証用要素群に含まれる正解候補要素の最大数jt、最小数jb及び正解候補要素の数tnが既知(設定済み)のときに、理想的な認証条件、すなわち各ケースの出現頻度p(i)が全て等しい状態を実現するための不正解候補要素の数dnの値を求める演算式であり、請求項3に記載したように、正解候補要素の数tnを設定するか、又は予め設定された正解候補要素の数tnを取得した後に、前出の(2)式を満たす不正解候補要素の数dnを演算することで、略一定の短い時間内に、各ケースの出現比率のばらつきが最小となるように正解候補要素の数tn及び不正解候補要素の数dnを設定することができる。
認証用要素群を構成する要素の総数jn、認証用要素群に含まれる正解候補要素の最大数jt、最小数jb及び正解候補要素の数tnが各値のときに、各ケースの出現頻度p(i)が全て等しい状態を実現するための不正解候補要素の数dnの値を、前出の(2)式を用いて演算した結果を以下の表1〜表3に示す。
上記の表1〜表3より明らかなように、(2)式を用いて算出される不正解候補要素の数dnの値は必ずしも整数とはならないが、算出された不正解候補要素の数dnの値が非整数であった場合には、四捨五入等の整数化を行うことで、各ケースの出現比率のばらつきが最小となる不正解候補要素の数dnを求めることができる。
一例として、認証用要素群を構成する要素の総数jn=10、認証用要素群に含まれる正解候補要素の最大数jt=5、最小数jb=2、正解候補要素の数tn=5の認証条件において、(2)式を用いて不正解候補要素の数dnを求めると、表1からも明らかなようにdn=9.29≒9となる。一方、不正解候補要素の数dn=8,9,10,11の各場合について、前出の(3)式に値を代入すると共に、p(2)=a,p(3)=b,p(4)=c,p(5)=dとおくと、
dn=8: 8(2a+3b+4c+5d)=5(8a+7b+6c+5d)
dn=9: 9(2a+3b+4c+5d)=5(8a+7b+6c+5d)
dn=10:10(2a+3b+4c+5d)=5(8a+7b+6c+5d)
dn=11:11(2a+3b+4c+5d)=5(8a+7b+6c+5d)
上記の数式が得られる。ここで、上記の各数式においてa=b=c=d(すなわち各ケースの出現比率p(2),p(3),p(4),p(5)が等しい)と仮定して右辺の値に対する左辺の値の比を演算すると、dn=8の場合は0.86、dn=9の場合は0.97、dn=10の場合は1.08、dn=11の場合は1.18となる。ここで求めた左辺/右辺比の「1」に対する偏差は、理想的な認証条件(各ケースの出現比率が等しい状態)に対する各ケースの実際の出現比率の偏差を表しており、当該偏差が最小となっている、すなわち各ケースの出現比率のばらつきが最小となっているのがdn=9の場合であることからも、(2)式を用いることで、各ケースの出現比率のばらつきが最小となる不正解候補要素の数dnを求めることができることが理解できる。
ところで、請求項2の発明において、決定手段は、例えば請求項3に記載したように、設定手段によって演算された不正解候補要素の数dnの値が整数である場合に、認証用要素群に含まれる正解要素の数iが互いに異なるケースの総数(jt−jb+1)の逆数を、前記各ケースの出現頻度として一律に各々設定するように構成することができる。この場合、各ケースの出現頻度を全て等しくすることができると共に、前出の(1)式における偏差S=0となることで、認証用要素群中での個々の正解候補要素及び個々の不正解要素の出現頻度も等しくすることができるので、理想的な認証条件を実現することができ、正解要素があぶり出しによって第三者に弁別されることを確実に防止することができる。
一方、請求項2記載の発明において、前出の(2)式を用いて算出した不正解候補要素の数dnの値が非整数であった場合には、前述のように不正解候補要素の数dnの値を丸めて(四捨五入等)整数化する必要があるが、この場合に、各ケースの出現頻度p(i)を全て等しくしたとすると、認証用要素群中での個々の正解候補要素の出現頻度と個々の不正解候補要素の出現頻度に差が生ずる。
例えば、前述のように認証用要素群を構成する要素の総数jn=10、認証用要素群に含まれる正解候補要素の最大数jt=5、最小数jb=2、正解候補要素の数tn=5の認証条件において、前出の(2)式を用いて不正解候補要素の数dnを求めるとdn=9.29≒9となる。また、上記の認証条件において、各ケースの出現頻度を等しくした場合の各ケースの出現頻度p(i)は、Σp(i)=1から導出される演算式p(i)=1/(jt−jb+1)に従って演算すると、p(2)=p(3)=p(4)=p(5)=0.25=25%となる。i=2のケースにおいて認証用要素群に特定の正解候補要素が出現する確率は、認証用要素群中の正解要素として特定の正解候補要素が選択されている状態で、tn=5個の正解候補要素のうち残りの4個の正解候補要素の中から残1個の正解要素を選択する場合の組合わせの数を表す4C1を、tn=5個の正解候補要素の中から2個の正解候補要素を選択する場合の組合わせの数を表す5C2で除した値で表され、4C1/5C2=4/10となる。認証用要素群に特定の正解候補要素が出現する確率は、他のケースについても特定の正解候補要素の出現確率を同様に求め、それらの和に各ケースの出現頻度p(i)を乗ずることで求めることができ、上記の認証条件では以下の値となる。
{(4C1/5C2)+(4C2/5C3)+(4C3/5C4)+(4C4/5C5)}×0.25=7/10=70%
同様に、dn=9個の不正解要素のうちの特定の不正解候補要素が認証用要素群に出現する確率を求めると、以下の値となる。
{(8C7/9C8)+(8C6/9C7)+(8C5/9C6)+(8C4/9C5)}×0.25=13/18=72.2%
このように、不正解候補要素の数dnの値が非整数であった場合、各ケースの出現頻度p(i)を全て等しくすると、不正解候補要素の数dnの値を整数化した影響により、認証用要素群中での個々の正解候補要素の出現頻度と個々の不正解候補要素の出現頻度に僅かではあるものの差が生ずるので、正解要素があぶり出しによって第三者に弁別される可能性が生ずる。これを考慮すると、請求項2記載の発明において、決定手段は、例えば請求項4に記載したように、設定手段によって演算された不正解候補要素の数dnの値が非整数である場合に、不正解候補要素の数dnの値を四捨五入して整数化した後に、
に基づいて変数x,yを演算し、認証用要素群に含まれている正解要素の数iが整数j以下のケースの出現比率を変数xの値にすると共に、認証用要素群に含まれている正解要素の数iが整数jよりも大きいケースの出現比率を変数yの値にするように構成することが好ましい。
以下、上記(7),(8)式の導出過程について説明する。まず、各ケースの出現比率のばらつきが0の、望ましい認証条件を表す前出の(3)式を変形すると、次の(9)式が得られる。
ここで、(9)式の{ }内に注目すると、変数はiのみでtn,dn,jnは何れも定数であるので、(9)式の{ }内は変数iの一次関数(f(i)=tn・jn−(tn+dn)・i)になっている。また、各ケースの出現頻度(出現確率)p(i)の符号が負になることはない(p(i)≧0)ので、(9)式が成立するためには、例として図11にも示すように、整数である変数iがjbからjtへ変化する間に{ }内の値の符号が正から負へ変化する必要がある。なお、図11に示すi−f(i)座標上の各矩形は、f(i)軸方向に沿った長さが、変数iが特定の値のときの(9)式の一次関数f(i)の値を、i軸方向に沿った幅が、変数iが特定の値のときの出現確率p(i)の値を、その面積が、変数iが特定の値のときのf(i)・p(i)の値を各々表している。また、i−f(i)座標上において、一次関数f(i)はf(i)=tn・jnでf(i)軸と交差し、i=tn・jn/(tn+dn)でi軸と交差する直線で表されるが、i≦tn・jn/(tn+dn)の領域に存在している各矩形はi軸の上に位置しているので、対応するf(i)・p(i)の値の符号が正であるのに対し、i>tn・jn/(tn+dn)の領域に存在している各矩形はi軸の下に位置しているので、対応するf(i)・p(i)の値の符号は負である。従って、i≦tn・jn/(tn+dn)の領域に存在している各矩形の面積の和と、i>tn・jn/(tn+dn)の領域に存在している各矩形の面積の和が等しければ、総和((9)式の左辺)が0となり(9)式が成り立つ。
ここで、一次関数f(i)がi軸と交差する点における変数iの値であるi=tn・jn/(tn+dn)の小数点以下を切り捨てた値を、次の(10)式のようにjとおくと(但し、[]はガウス記号と称し、[a]はaの小数点以下を切り捨てた正の整数を表す)、
このjを用いることで、先の(9)式は次の(11)式へ置き換えることができる。
なお、認証条件としては認証用要素群に含まれる正解候補要素の最大数jt=最小数jbの場合も考えられるが、この場合は変数iがとり得る値が1つのみ(i=jt=jb)で、認証用要素群に含まれる正解要素の数は常に一定となり、当該ケースの出現確率p(i)が100%となることが明らかであるので、上記の(11)式ではjt=jbの場合を想定から除外し、jt>jbの場合のみを想定している。また(11)式では、Σの定義からjb≦j<jtが成立する必要があるが、この点については後述する。
前述のように、不正解候補要素の数dnの値が非整数であったためにdnの値を四捨五入して整数化した場合、各ケースの出現頻度p(i)を全て等しくすると、認証用要素群中での正解候補要素の出現頻度と不正解候補要素の出現頻度に差が生ずるので、次善の策として、各ケースの出現頻度p(i)が二通りの値をとり得るように、jb≦i≦jのときの出現頻度p(i)((11)式の左辺における出現頻度p(i))を変数xとおき、j<i≦jtのときの出現頻度p(i)((11)式の右辺における出現頻度p(i))を変数yとおいて二元化することで、前出の(7)式を得ることができる。(7)式は、単純化すればAx=Byの形(A,Bは定数)であるので、(7)式に各定数を代入して解くことで変数xと変数yの比を求めることができる。
また、変数x,yの定義より、変数xは(j−jb+1)個の出現頻度p(i)を表し、変数yは(jt−j)個の出現頻度p(i)を表しており、確率の定義からこれらの出現頻度の総和は1であることに基づいて、前出の(8)式を得ることができる。(7),(8)式は変数x,yについての二元連立方程式となるため、この(7),(8)式より変数x,yの値を得ることができる。そして、請求項5記載の発明のように、認証用要素群に含まれている正解要素の数iが整数j以下のケースの出現比率を変数xの値にすると共に、認証用要素群に含まれている正解要素の数iが整数jよりも大きいケースの出現比率を変数yの値にすることで、
不正解候補要素の数dnの値が非整数であったためにdnの値を四捨五入して整数化した場合であっても、認証用要素群中での正解候補要素の出現頻度と不正解候補要素の出現頻度が等しくなるように各ケースの出現頻度p(i)を決定することができる。
参考までに、前述の認証環境条件(認証用要素群を構成する要素の総数jn=10、認証用要素群に含まれる正解候補要素の最大数jt=5、最小数jb=2、正解候補要素の数tn=5)において、前出の(2)式を用いて求めた不正解候補要素の数dn=9.29を四捨五入してdn=9に整数化した例について、(7),(8)式に各定数を代入して計算すると、(7)式は30x=26y、(8)式は2x+2=1となり、これらを変数x,yについて解くとx=23.2%、y=26.8%となる。この例ではj=3であるので、各ケースの出現確率(比率)は、
{p(2),p(3),p(4),p(5)}={23.2%,23.2%,26.8%,26.8%}
となる。そして、各ケースが上記出現比率に応じた頻度で出現するように認証用要素群を生成することで、認証用要素群中での正解候補要素の出現頻度と不正解候補要素の出現頻度を等しくすることができ、正解要素があぶり出しによって第三者に弁別されることを確実に防止することができる。
次に、前出の(11)式における必要条件であるjb≦j<jtが満たされていることを説明する。まず、前出の(2)を用いて算出した不正解候補要素の数dnの値が整数であった場合について考えると、この場合に認証に用いるdnの値は(2)式から算出される値に一致しているので、前出の(10)式におけるdnを前出の(2)式に置き換えることで次の(12)式が得られる。
上記の(12)式の右辺のガウス記号[ ]内はjtとjbの平均値に等しいので、前述した(11)式の前提であるjt>jbから、jb≦j<jtが成立していることは明らかである。
次に、(2)を用いて算出した不正解候補要素の数dnの値が非整数であったために、値を四捨五入して整数化したdnを認証に用いる場合を考える。この場合、認証に用いるdnの値は(2)式から算出される値に対して最大で±1/2の丸め誤差を有していることから、上記の(12)式は次の(13)式のようになり、
jは(13)式が表す2つの数値の間に存在していることになる。ここで、Jを規定するtn,jn,jt,jbは何れも正の整数であるので、J>0であることは明らかであり、また、
Jの式を、上記の(14)式にように、jtとjbの平均値((jt+jb)/2)と、tnの逆数(1/tn)と、jnの逆数(1/jn)の積に分解して検討すると、jtとjbの平均値((jt+jb)/2)は、jt>jbの前提からjtよりも小さく、jt≦tnであるので、((jt+jb)/2)とtnの逆数(1/tn)の積は1よりも小さくなり、(14)式で表されるJは、この((jt+jb)/2)と(1/tn)の積に、jnの逆数(1/jn)を更に乗じたものであるので、Jはjnの逆数(1/jn)よりも小さい(J<(1/jn))。また、jn>jt>jbであるのでjn≧2となり、jnの逆数(1/jn)は1よりも小さく ((1/jn)<1)、Jも1よりも小さい(J<1)。従って、Jは0<J<1となるので、これから0<(2−J)<(2+J)となり、(13)式が表す2つの数値の分母の大小関係が判明することで、jは次の(15)式に示す範囲内の値であることが明らかとなる。
ここで、ガウス記号の定義[a]≦aにより次の(16)式が成り立つ。
また、jtから((jt+jb)/(2−J))を減算する式を展開すると次の(17)式が得られる。
ここで、jt,jbは何れも正の整数であり、jt>jbであることから(jt−jb)≧1である。また、前出の(14)式よりJ<(1/jn)が明らかであるので、両辺にjtを乗じた次の不等式
(J・jt)<(jt/jn)≦1
が成り立ち、(J・jt)<1が成り立つため、(17)式の分子部分の符号は正である。これにより、jt−((jt+jb)/(2−J))>0となって(17)式が成り立ち、次の(18)式が成り立つことが明らかとなる。
従って、(16)式〜(18)式より次の(19)式が成り立ち、j<jtが満たされていることが明らかとなる。
jの下限であるjbについても同様に検討する。まずガウス記号[ ]を考慮せずに、((jt+jb)/(2+J))からjbを減算する式を展開すると次の(20)式が得られる。
ここで、jt,jbは何れも正の整数であり、jt>jbであることから(jt−jb)≧1であり、前出の(14)式よりJ<(1/jn)が明らかであるので、両辺にjbを乗じた次の不等式
(J・jb)<(jb/jn)≦1
が成り立ち、(J・jb)<1が成り立つため、(20)式の分子部分の符号は正である。これにより、((jt+jb)/(2+J))−jb>0となって(20)式が成り立ち、次の(21)式が成り立つことが明らかとなる。
ここでjbは正の整数であることからjb=[jb]が成り立ち、また0<a<bであれば[a]≦[b]が成り立つので、(21)式及び(15)式より次の(22)式が成り立ち、jn≦jも満たされていることも明らかとなる。
以上より、(2)を用いて算出した不正解候補要素の数dnの値が非整数であったために、値を四捨五入して整数化したdnを認証に用いる場合であっても、(11)式における必要条件であるjb≦j<jtが満たされていることが明らかであり、請求項5記載の発明に係る(7),(8)式に基づいて、認証用要素群中での正解候補要素の出現頻度と不正解候補要素の出現頻度が等しくなるように各ケースの出現頻度p(i)を決定するための変数x,yを算出できることが明らかとなった。
また、請求項1記載の発明において、記憶手段に情報が記憶されている複数の要素より正解候補要素及び不正解候補要素を選択又は抽出することは、例えば請求項5に記載したように、記憶手段に情報が記憶されている複数の要素の中から、正解候補要素又は正解候補要素の抽出対象の要素を予め設定された正解候補要素の数tnに応じた数だけ選択させた後に、記憶手段に情報が記憶され正解要素として未選択の要素の中から、予め設定された不正解候補要素の数dnに応じた数だけ不正解候補要素を選択又は抽出する候補要素選択手段を設けることで実現できる。
また、請求項5記載の発明において、記憶手段に情報が記憶されている個々の要素を正解候補要素及び不正解要素としてそのまま用いる場合は、記憶手段に情報が記憶されている複数の要素の中から、予め設定された正解候補要素の数tnと同数だけ正解候補要素が選択され、記憶手段に情報が記憶され正解要素として未選択の要素の中から、予め設定された不正解候補要素の数dnと同数だけ不正解候補要素が選択されるが、記憶手段に情報が記憶されている個々の要素が、被認証者への提示中に被認証者へ与えられる内容が時系列に変化する時系列情報であり、少なくとも正解候補要素が、記憶手段に情報が記憶されている個々の要素からrn個(rn≧1)ずつ抽出される場合、候補要素選択手段は、例えば請求項6に記載したように、正解候補要素の数tnに応じた数としてのtn÷rn個(但し、端数が生じた場合は切り上げ)の要素を、記憶手段に情報が記憶されている複数の要素の中から、正解候補要素の抽出対象の要素として選択させ、正解候補要素を、選択されたtn÷rn個の抽出対象の要素からrn個ずつ抽出するように構成することができる。
また本発明において、正規の認証対象者は個々の正解候補要素を認識している必要があるが、上記の正解候補要素又は抽出対象の要素の選択は、正規の認証対象者が行うことに限られるものではなく、正解候補要素又は抽出対象の要素の選択を自動的に行い、選択した正解候補要素又は抽出対象の要素を正規の認証対象者に提示させることで、個々の正解候補要素を正規の認証対象者に認識させるようにしてもよい。
また、請求項1記載の発明において、例えば請求項7に記載したように、記憶手段に情報が記憶されている個々の要素は被認証者への提示中に被認証者へ与えられる内容が時系列に変化する時系列情報であり、認証手段は、認証用要素群を構成する個々の要素を被認証者へ順に提示すると共に、個々の要素のうち正解要素と認識した要素が提示されている期間を明示する操作を被認証者に行わせ、正解要素の提示期間が適正に明示されたか否かを判定することで被認証者の認証を行うように構成することが好ましい。例えば認証用要素群を構成する個々の要素のうちの正解要素を単に被認証者に指定させる場合、回答の組合わせ数(認証強度)は認証用要素群を構成する要素の数に依存するので、認証強度を確保するためには認証用要素群を構成する要素の数をある程度多くする必要があり、これに伴って認証用要素群に含まれる正解要素の数や正解候補要素の数tnも増大傾向となることで正規の被認証者に掛かる負担も増大する。
これに対して請求項7記載の発明では、被認証者が正解要素と認識した要素が提示されている期間を明示する操作を被認証者に行わせ、被認証者によって明示された期間も考慮して被認証者の認証を行うので、認証用要素群を構成する要素の数に比して回答の組合わせ数を大幅に増大させることができ、認証用要素群を構成する個々の要素(時系列情報)を被認証者に提示している時間をランダムに変化させる等により、正規の被認証者に掛かる負担の増大を抑制しつつ認証強度を大幅に増大させることができる。
また、請求項7記載の発明において、例えば請求項8に記載したように、時系列情報は楽曲の情報であり、認証用要素群を構成する個々の要素は、楽曲から抽出された一部のフレーズの情報であり、認証手段は、認証用要素群を構成するjn個のフレーズを順に再生することで、jn個のフレーズを被認証者へ順次提示するように構成することが好ましい。請求項8に記載の時系列情報としては、楽曲以外に動画像等が挙げられるが、動画像等と比較すると楽曲は記憶するための記憶容量の節減が容易であり、一部のフレーズを抽出して提示した場合にも抽出元の楽曲の一部として認識され易く、異なる楽曲から抽出したフレーズを連続的に再生した場合に、人間の耳にはフレーズの境を容易に聞き分けられる一方で、機械的にフレーズの境を認識するためには高度な技術が必要となる、という特性を有している。従って、時系列情報として楽曲を用いることで、装置構成の複雑化を回避しつつ精度の高い認証を実現することができる。
なお、請求項8記載の発明において、正解要素として使用するフレーズを抽出する楽曲は、自動的に選択して正規の被認証者に提示させるようにしてもよいが、例えば請求項9に記載したように、正規の被認証者によって事前に選択されるようにすることが好ましい。これにより、正解要素として使用するフレーズを抽出する楽曲を記憶するための正規の被認証者の負担を軽減することができる。
請求項10記載の発明に係る認証プログラムは、被認証者の認証に用いる認証用要素群の構成要素として使用可能な要素の情報を複数記憶する記憶手段を備えたコンピュータを、前記認証用要素群中の正解要素として使用するtn個の正解候補要素と前記認証用要素群中の不正解要素として使用するdn個の不正解候補要素から最大jt個、最小jb個(但しjb≦jt<jn)の正解要素を含む総数jn個(但しjnは要求される認証強度に応じて定まる)の要素を前記認証用要素群の構成要素として選択して前記認証用要素群を生成した場合に、生成した前記認証用要素群にjt個〜jb個のうちの互いに異なる数の正解要素が含まれている各ケースの出現比率を、i個の正解要素を含む各ケースの出現頻度を各々p(i)(但し、i=jb,jb+1,…,jt)としたときに、
上記(1)式の偏差Sが最小となる各ケースの出現頻度p(i)を各々求めることで、tn個の正解候補要素の各々の前記認証用要素群中での出現頻度とdn個の不正解候補要素の各々の前記認証用要素群中での出現頻度の差が最小となるように決定する決定手段、発生させる乱数(≧0)の数値範囲に対応する数直線を、前記決定手段によって決定された前記各ケースの出現比率に応じて前記各ケースの何れかに各々対応する複数の区間に区切り、前記数値範囲内の乱数を発生させ、発生させた乱数が前記複数の区間の何れに属する値かを判断し、発生させた乱数が属する区間に対応するケースにおける正解要素の数を、生成する認証用要素群中の正解要素の数として設定した後に、前記記憶手段に情報が記憶されている複数の要素より選択又は抽出されたtn個の正解候補要素及びdn個の不正解候補要素から、決定した個数の正解要素を含む総数jn個の要素を前記認証用要素群の構成要素として選択又は抽出することで、前記各ケースが前記決定手段によって決定された出現比率に応じた頻度で出現するように前記認証用要素群を生成する生成手段、及び、前記生成手段によって生成された前記認証用要素群を構成するjn個の要素を被認証者へ各々提示すると共に、提示したjn個の要素のうちの正解要素を被認証者に指定させることで前記被認証者の認証を行う認証手段として機能させる。
請求項10記載の発明に係る認証プログラムは、上記の記憶手段を備えたコンピュータを、上記の決定手段、生成手段及び認証手段として機能させるためのプログラムであるので、上記のコンピュータが請求項10記載の発明に係る認証プログラムを実行することにより、上記のコンピュータが請求項1に記載の認証装置として機能することになり、請求項1記載の発明と同様に、認証用要素群の各要素を被認証者へ提示し、正解要素を被認証者に指定させることで被認証者の認証を行う場合に、正解要素があぶり出しによって第三者に弁別されることなく被認証者の認証を行うことができる。
以上説明したように本発明は、tn個の正解候補要素とdn個の不正解候補要素から最大jt個、最小jb個(但しjb≦jt<jn)の正解要素を含む総数jn個の要素を選択して認証用要素群を生成した場合に、tn個の正解候補要素の各々の認証用要素群中での出現頻度とdn個の不正解候補要素の各々の認証用要素群中での出現頻度の差が最小となるように、生成した認証用要素群にjt個〜jb個のうちの互いに異なる数の正解要素が含まれている各ケースの出現比率を決定し、各ケースが決定した出現比率に応じた頻度で出現するように、tn個の正解候補要素及びdn個の不正解候補要素から、最大jt個、最小jb個の正解要素を含む総数jn個の要素を選択又は抽出して認証用要素群を生成するようにしたので、認証用要素群の各要素を被認証者へ提示し、正解要素を被認証者に指定させることで被認証者の認証を行う場合に、正解要素があぶり出しによって第三者に弁別されることなく被認証者の認証を行うことができる、という優れた効果を有する。
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係るコンピュータ・システム10が示されている。コンピュータ・システム10は、多数台の端末装置12が接続されたネットワーク14にサービス提供システム16が接続されて構成されており、サービス提供システム16は認証サーバ18とサービス提供サーバ20がイントラネット(LAN)22を介して互いに接続されて構成されている。なお、端末装置12は、任意の情報を表示可能なディスプレイ等の表示装置、任意の情報を入力可能なキーボード等の入力装置、音楽データを音楽として再生可能な音声再生装置を備え、ネットワーク14を介して通信する機能を備えた機器であればよく、例えばPC(Personal Computer)や携帯電話機、PDA、或いはATM(Automatic Teller Machine:現金自動預け払い機)等であってもよい。
サービス提供システム16は、端末装置12を操作してサービス提供システム16にアクセスした利用者のうち、サービス提供システム16の利用を事前に申し込むことでユーザIDが付与された正規の利用者に対してのみサービス提供機関が所定のサービスを提供するためのシステムであり、認証サーバ18は、端末装置12を介してサービス提供システム16にアクセスした利用者(被認証者)が正規の利用者か否かを判定する認証処理を行い、サービス提供サーバ20は、認証サーバ18によって正規の利用者であると判定された利用者に対してのみ所定のサービスを提供するように構成されている。
なお、サービス提供機関としては金融機関が好適であり、この場合、所定のサービスとしては、端末装置12としてのPCや携帯電話機、PDA等からネットワーク14としてのインターネット等を介してサービス提供システム16にアクセスした正規の利用者、或いは端末装置12としてのATMからネットワーク14としての専用通信線を介してサービス提供システム16にアクセスした正規の利用者に対し、利用者の指示に応じて預金の残高照会、入出金照会、口座振り込み、振り替え等の様々な金融取引を行う金融取引サービスを適用することができるが、これに限られるものではなく、本発明は利用者の認証を必要とする様々な態様に適用可能である。
認証サーバ18は、CPU18A、RAM等から成るメモリ18B、ハードディスクドライブ(HDD)18C、ネットワークインタフェース(I/F)部18Dを備えており、ネットワークI/F部18Dは前述のネットワーク14及びイントラネット(LAN)22に各々接続されている。またHDD18Cには、曲登録処理を行うための曲登録プログラムと認証処理を行うための認証プログラムを含む利用者認証プログラムがインストールされている。この利用者認証プログラムは請求項10に記載の認証プログラムに対応しており、CPU18Aが上記の認証プログラムを実行することで、認証サーバ18は本発明に係る認証装置として機能する。
また詳細は後述するが、認証サーバ18は、サービス提供システム16にアクセスした利用者(被認証者)に対する認証処理として、楽曲を用いた認証処理、すなわち、事前に設定した正解曲を含む複数の楽曲(の一部のフレーズ)を順に再生させ、再生された複数の楽曲のうち正解曲の再生されている期間を指定(明示)する操作を被認証者に行わせ、被認証者による操作結果に基づいて被認証者が正規の利用者か否かを判定する認証処理を行う。認証サーバ18のHDD18Cには、上記の楽曲を用いた認証処理を行うための情報として楽曲DB(データベース)、認証情報テーブル及び候補フレーズ数テーブルが各々記憶されている。
楽曲DBには、楽曲を用いた認証処理に利用可能な多数の楽曲の音楽データが登録されている。なお、楽曲DBに音楽データが登録されている楽曲は、複数のジャンル、各ジャンル毎に複数のアーティスト、各アーティスト毎に複数のアルバムに亘っており、例として図3にも示すように、個々の楽曲の音楽データには、個々の楽曲を識別するための曲ID、ジャンル名、アーティスト名、アルバム名、発表年、曲名、フレーズ抽出位置情報等の属性情報が各々付加されている。楽曲DBに記憶されている音楽データは、請求項1に記載の「認証用要素群の構成要素として使用可能な要素の情報」に相当し(請求項6、請求項7に記載の時系列情報、請求項8に記載の楽曲の情報にも対応している)、HDD18Cは本発明に係る記憶手段に対応している。なお、認証情報テーブル及び候補フレーズ数テーブルについては後述する。
次に本実施形態の作用を説明する。本実施形態では、楽曲を用いた認証処理を行うにあたり、当該認証処理で正解曲(正解フレーズ)として用いる楽曲を正規の利用者に事前に選択させ、不正解曲(不正解フレーズ)すなわち紛れ曲(紛れフレーズ)として用いる楽曲も併せて選択する曲登録処理を行う。以下、この曲登録処理について、図2のフローチャートを参照して説明する。なお、この曲登録処理は、例えば新たな利用者によって端末装置12が操作され、ネットワーク14を経由してサービス提供システム16の利用が申し込まれた場合に、当該新たな利用者の属性情報(氏名や住所、連絡先、年齢等)を登録すると共に、ユーザID(認証ID)を付与・登録した後に実行することができる。
図2に示す曲登録処理では、まずステップ50において、認証IDの入力を要請するメッセージが表示され認証IDの入力欄が設けられた認証ID入力画面を端末装置12へ配信し、端末装置12の表示装置に認証ID入力画面を表示させることで、正解曲の登録を行う利用者(処理対象の利用者:正規の利用者)に対して認証IDを入力させ、入力された認証IDと対応付けて記憶されている属性情報(例えば年齢等)を検索して読み出すことで、処理対象の利用者の属性情報を取得する。次のステップ52では、ステップ50で取得した属性情報が表す処理対象の利用者の属性に応じて、楽曲を用いた認証における認証環境条件を規定するパラメータとして、認証に用いる曲リストを構成する総フレーズ数jn、当該曲リストに含まれる正解フレーズ(この正解フレーズは、後で選択される正解曲から抽出される)の最大数jt及び最小数jb、単一の楽曲から抽出するフレーズの数rn、曲リストの生成に用いる正解候補フレーズ数tn及び紛れ候補フレーズ数dnを各々決定する。
曲リストは認証時に再生する各フレーズのIDや再生順序が設定されたリストであり、本実施形態に係る認証では、曲リストに設定されている複数(jn個)のフレーズが曲リストに登録されている順序で端末装置12で再生される。ここで、曲リストを構成する総フレーズ数jnは認証強度に関係し(総フレーズ数jnの値が大きくなる程認証強度も増大する)、正解フレーズの最大数jt及び最小数jbの適切な値の範囲は総フレーズ数jnによって変化し、正解候補フレーズ数tnの適切な値の範囲は正解フレーズの最大数jt及び最小数jbによって変化する。そして、総フレーズ数jnを値を大きくすれば認証強度は向上するものの、これに伴って正解フレーズの最大数jt及び最小数jb、正解候補フレーズ数tn(及び曲リストの生成に用いる紛れ候補フレーズ数dn)の値も大きくなるので、曲リスト等を記憶するために必要な記憶領域が増大し記憶装置(HDD18C)の記憶領域を圧迫する可能性があると共に、利用者が記憶すべき正解曲の曲数も多くなるので、利用者の負担が増大する可能性もある。
このためステップ52では、例えば処理対象の利用者の年齢が閾値以上であれば、総フレーズ数jnの値を若干小さくし、それに応じて正解フレーズの最大数jt及び最小数jb、正解候補フレーズ数tnの値も若干小さくすることで、正解曲を記憶するための利用者の負担を軽減させる一方、処理対象の利用者の年齢が閾値未満であれば、総フレーズ数jnの値を若干大きくし、それに応じて正解フレーズの最大数jt及び最小数jb、正解候補フレーズ数tnの値も若干大きくすることで認証強度を向上させる等の処理を行うことで、利用者の属性に応じた認証環境条件を設定する。なお、本実施形態では、楽曲を用いた認証処理において、正解フレーズが再生されている期間を被認証者に指定(明示)させることにより、順に再生されるjn個のフレーズのうちの正解フレーズを単に指定させる場合と比較して、被認証者による回答の組合わせの数は飛躍的に増大するので、上記のように総フレーズ数jnの値を若干小さくしたとしても、総フレーズ数jnの値に比して一定レベル以上の認証強度を確保することができる。
また、単一の楽曲から複数のフレーズを抽出する(抽出フレーズ数rn≧2)ようにすれば、利用者が記憶すべき正解曲の曲数を削減できる(記憶すべき正解曲の曲数=正解候補フレーズ数tn÷抽出フレーズ数rnとなる(但し、端数が出た場合は正解曲の曲数を切り上げ))が、この場合、同一の正解曲から抽出した互いに異なるフレーズが各々正解フレーズとして扱われるので、認証時に、楽曲を用いた認証に習熟していない利用者が混乱することも考えられる。図2に示す曲登録処理は、新たな利用者からサービス提供システム16の利用が申し込まれた場合に実行される処理であるが、上記を考慮すると、例えば楽曲を用いた認証によって被認証者が正規の利用者であると判定する毎に、当該利用者が楽曲を用いた認証を受けた回数を更新し、更新後の回数が閾値(この閾値も利用者の年齢等に応じて相違させてもよい)に達したか否か判定し、更新後の回数が閾値に達した場合は当該利用者が楽曲を用いた認証に習熟したと判断できるので、抽出フレーズ数rnの値をインクリメントすると共に正解曲を登録し直す(過去に登録した正解曲の一部を抹消する)ようにしてもよい。
また、例えば処理対象の利用者の年齢が閾値以上か否かに応じて、ステップ52で設定する抽出フレーズ数rnの値を切り替えるようにしてもよい(例えば処理対象の利用者の年齢が閾値以上であれば抽出フレーズ数rn=1とし、処理対象の利用者の年齢が閾値未満であれば抽出フレーズ数rn≧2としてもよいし、その逆に設定してもよい)。
また、HDD18Cに記憶されている候補フレーズ数テーブルは、特定の認証環境条件(紛れ候補フレーズ数dn以外の各パラメータ(総フレーズ数jn、正解フレーズの最大数jt及び最小数jb、正解候補フレーズ数tn)として各々或る値が設定されている認証環境条件)において、認証時に再生されるjn個のフレーズでのtn個の正解候補フレーズの各々の出現頻度とdn個の紛れ候補フレーズの各々の出現頻度の差が最小となるように、jn個のフレーズ中にjt個〜jb個のうちの互いに異なる数の正解フレーズが含まれている各ケースの出現比率を前出の(1)式を用いて求めたときに、各ケースの出現比率のばらつき(例えば分散や標準偏差)を最小とするための紛れ候補フレーズ数dnの値が、各種の認証環境条件(紛れ候補フレーズ数dn以外の各パラメータの少なくとも1つが互いに異なる複数種の認証環境条件)について各々登録されて構成されている。なお、候補フレーズ数テーブルに登録されている紛れ候補フレーズ数dnの値は、例えば特定の認証環境条件について、紛れ候補フレーズ数dnの値を1ずつ変化させながら各ケースの出現比率を試算し、各ケースの出現比率のばらつきが最小となる紛れ候補フレーズ数dnの値を求めることを、各種の認証環境条件(紛れ候補フレーズ数dn以外の各パラメータの少なくとも1つが互いに異なる複数種の認証環境条件)について各々行うことで得ることができる。
ステップ52における紛れ候補フレーズ数dnの決定は、認証環境条件を規定するパラメータのうち紛れ候補フレーズ数dn以外の各パラメータを決定した後に、決定した各パラメータをキーとして候補フレーズ数テーブルを検索し、決定した各パラメータに対応する紛れ候補フレーズ数dnを取得することによって成される。これにより、認証時に再生されるjn個のフレーズでのtn個の正解候補フレーズの各々の出現頻度とdn個の紛れ候補フレーズの各々の出現頻度の差が最小となるように、jn個のフレーズ中にjt個〜jb個のうちの互いに異なる数の正解フレーズが含まれている各ケースの出現比率を求めたときに、各ケースの出現比率のばらつきが最小となるように、正解候補フレーズの数tn及び紛れ候補フレーズの数dnを決定することができる。なお、ステップ52は請求項2に記載の設定手段に対応している。
ところで、認証サーバ18のHDD18Cに記憶されている認証情報テーブルは個々の利用者毎に設けられており、個々の利用者に対応する個々の認証情報テーブルには、図3にも示すように、認証環境情報を登録するための領域、正解曲の情報を登録するための領域、及び、紛れ曲(不正解曲)の情報を登録するための領域が各々設けられている。次のステップ54では、処理対象の利用者によって入力された認証ID及びステップ52で決定した認証環境条件(を規定する各パラメータ)を、認証情報テーブルの認証環境情報登録領域に認証環境情報として登録する。
また、次のステップ56以降では処理対象の利用者に正解曲を選択させる処理を行う。すなわちステップ56では、ステップ52で決定した認証環境条件に対応する正解曲登録ページの情報をHDD18Cから読み出し、処理対象の利用者が操作している端末装置12へネットワーク14を通じて配信する。これにより、端末装置12の表示装置には、例として図4に示すような正解曲登録ページが表示される。
図4に示す正解曲登録ページは、正解曲を演奏しているアーティストの名称を指定するための指定欄80A、正解曲が収録されているアルバムの名称や正解曲の曲名を指定するための指定欄80B、正解曲のジャンルを指定するための指定欄80C,80D、正解曲の発表年代を指定するための指定欄80E、現在指定されている正解曲の発表年の範囲を表示するための表示欄80F、アーティストの名称を一覧表示するための表示欄80G、アルバムの名称を一覧表示するための表示欄80H、曲名を一覧表示するための表示欄80J、利用者によって選択された正解曲を一覧表示するための表示欄80K、正解曲の選択指定の完了を通知するためのボタン80Mが各々設けられて構成されている。また正解曲登録ページには、図示は省略するが、ステップ52で決定した認証環境条件に対応して(tn÷rn)個の正解曲の選択を要請するメッセージが表示されており、表示欄80Kには(tn÷rn)個の正解曲を表示可能なように(tn÷rn)行の表示欄が設けられている。これにより、処理対象の利用者は、選択すべき正解曲の数を認識することができる。
ステップ58では処理対象の利用者が操作している端末装置12から何らかの指示情報を受信したか否か判定し、判定が肯定される迄ステップ58を繰り返す。ステップ58の判定が肯定されるとステップ60へ移行し、処理対象の利用者が操作している端末装置12から受信した指示情報が、処理対象の利用者によって正解曲登録ページ内のボタン80Mが選択された場合に端末装置12から送信される所定の情報か否かを判断することで、処理対象の利用者による正解曲の選択が完了したか否か判定する。ステップ60の判定が否定された場合はステップ62へ移行し、処理対象の利用者が操作している端末装置12から受信した指示情報に応じた処理を行い、端末装置12への正解曲登録ページの情報の再配信を行う。これにより、端末装置12の表示装置に表示されている正解曲登録ページが処理対象の利用者の操作に応じて切り替わる。
例えば処理対象の利用者によって指定欄80Aに特定アーティストの名称が入力されて検索の実行が指示された場合、ステップ62では、入力されたアーティストの名称をキーにして楽曲DBに登録されている各音楽データの属性情報を検索し、入力された特定アーティストの名称を表示欄80Gに表示し、検索によって抽出された特定アーティストの全アルバムの名称を表示欄80Hに一覧表示し、表示欄80Hに名称を表示した各アルバムに収録されている全ての楽曲の曲名を表示欄80Jに一覧表示した正解曲登録ページを生成し、生成した正解曲登録ページの情報を端末装置12へ再配信する処理が行われる。
また、例えば処理対象の利用者によって指定欄80Bにアルバムの名称が入力されて検索の実行が指示された場合、ステップ62では、入力されたアルバムの名称をキーにして楽曲DBに登録されている各音楽データの属性情報を検索し、検索によって抽出された全アーティストの名称を表示欄80Gに表示し、入力されたアルバムの名称を表示欄80Hに一覧表示し、表示欄80Gに名称を表示した各アーティストのアルバムの表示欄80Hに名称を表示したアルバムに収録されている全ての楽曲の曲名を表示欄80Jに一覧表示した正解曲登録ページを生成し、生成した正解曲登録ページの情報を端末装置12へ再配信する処理が行われる。
また、複数のジャンルの中から処理対象の利用者によって選択されたジャンルが指定欄80C,80Dに設定された場合や、複数の選択肢の中から処理対象の利用者によって選択された発表年代が指定欄80Eに設定された場合にも、上記と同様の検索が行われ、正解曲の選択肢として表示欄80Jに複数の楽曲の曲名が一覧表示される。また、表示欄80Jに曲名が一覧表示されている複数の楽曲の中から、処理対象の利用者によって所望の楽曲が正解曲として選択された場合、ステップ62では、正解曲として選択された楽曲の属性情報を表示欄80Kに表示した正解曲登録ページを生成し、生成した正解曲登録ページの情報を端末装置12へ再配信する処理が行われる。このプロセスが繰り返されることで、処理対象の利用者によって(tn÷rn)個の正解曲が選択される。
正解曲の選択が完了すると、処理対象の利用者は正解曲登録ページ内のボタン80Mを選択する。これにより、ステップ60の判定が肯定されてステップ64へ移行し、処理対象の利用者によって選択された正解曲の数が認証環境条件に合致しているか、すなわち正解曲が(tn÷rn)個選択されているか否か判定する。選択された正解曲の数が(tn÷rn)に一致していない場合は判定が否定されてステップ66へ移行し、選択された正解曲の数が過大又は過小であることを通知するエラーメッセージを端末装置12の表示装置に表示させ、ステップ58に戻って上記処理を繰り返す。また、選択された正解曲の数が(tn÷rn)に一致している場合は、ステップ64の判定が肯定されてステップ68へ移行し、ステップ68において、処理対象の利用者によって選択された正解曲の曲IDを認証情報テーブルの正解曲情報登録領域に登録する。例として図3には正解候補フレーズ数tn=10,抽出フレーズ数rn=2で、tn÷rn=5個の正解曲の曲IDが正解曲情報登録領域に登録された状態が示されている。
次のステップ72では、先のステップ52で決定した紛れ候補フレーズ数dnを抽出フレーズ数rnで除算することで、処理対象の利用者に対する認証処理で紛れ曲(不正解曲)として用いる楽曲の数(紛れ曲数)を求める。そしてステップ74では、ステップ72で求めた紛れ曲数(dn÷rn)分の紛れ曲(但し、端数が出た場合は紛れ曲の曲数を切り上げ)を、処理対象の利用者によって選択された正解曲と同一アルバム又は同一アーティスト又は同一ジャンルから選択する。なお、紛れ曲として選択する楽曲の優先順位は、(1)正解曲と同一アルバムに収録されている楽曲、(2)正解曲と同一アーティストが演奏している楽曲、(3)正解曲と同一ジャンルの楽曲、であることが望ましい。
本実施形態に係る楽曲を用いた認証処理も候補提示/選択方式の1つであるが、候補提示/選択方式には、あぶり出しが可能となってしまうという脆弱性以外に、利用者本人が正解として用いる選択肢を事前に選択することから、利用者の経歴やその他の利用者個人の情報を取得することで、利用者の嗜好、すなわち利用者が正解として選びそうな選択肢を第三者が容易に推察することが可能となってしまうという脆弱性も内包している。この脆弱性は、楽曲を用いた認証処理においては、利用者が選択する可能性の高い正解曲のジャンルやアーティストが第三者に容易に推察される可能性がある、という問題として現れる。そして、例えば総フレーズ数jn=10程度の認証環境条件において、各フレーズを抽出する楽曲のジャンルを「J-POP,POPS,CLASSIC,JAZZ,その他」等の複数のジャンルに分散させたとすると、各ジャンル毎のフレーズの数が2個程度になってしまうことで、第三者による正解フレーズの推察が極めて容易になってしまうという問題が生ずる。
このため、ステップ74では、処理対象の利用者によって選択された正解曲と同一アルバム又は同一アーティスト又は同一ジャンルから紛れ曲を選択している。これにより、第三者が、再生されたjn個のフレーズのうち利用者が正解として選びそうなジャンルに属する楽曲のフレーズが正解フレーズではないかと推察したり、再生されたjn個のフレーズのうち利用者が正解として選びそうなアーティストが演奏している楽曲のフレーズが正解フレーズではないかと推察することが困難となるので、上記の脆弱性を解消することができる。なお、上記事項は楽曲を用いた認証処理に限らず、候補提示/選択方式を適用した認証であれば広く適用可能であり、認証用要素群を構成する不正解要素を、同一の認証用要素群を構成する正解要素との分類の困難度が高くなるように選択する(例えばジャンルやアーティスト等の不正解要素の属性が正解要素と同一又は類似となるように選択する)ことで、利用者に嗜好に基づく正解要素の推察を困難化できる、という効果が得られる。
また、本実施形態に係る楽曲を用いた認証処理では正解曲を処理対象の利用者に選択させているが、これに代えて、処理対象の利用者にアーティスト名やアルバム名等を選択させると共に、上記事項を適用し、処理対象の利用者が選択したアーティスト名やアルバム名等に該当する複数の楽曲の中から認証装置側で正解曲及び紛れ曲を自動的に選択し、自動的に選択した正解曲を処理対象の利用者に提示するようにしてもよい。この場合、上記と同様に利用者に嗜好に基づく正解フレーズの推察を困難化できると共に、自動的に選択して提示する正解曲が、利用者が選択したアーティスト名やアルバム名等に合致する楽曲であるので、正解曲を記憶するための利用者の負担の増大を抑制することができ、認証時に正解フレーズが誤って指定される可能性が増大することも抑制できる。
ステップ74で(dn÷rn)個の紛れ曲を選択するとステップ76へ移行し、ステップ74で選択した(dn÷rn)個の紛れ曲の曲IDを、例として図3に示すように認証情報テーブルの紛れ曲情報登録領域に登録し、曲登録処理を終了する。なお、例えば図3では、紛れ候補フレーズ数tn=19,抽出フレーズ数rn=2であるので、dn÷rn≒10個の紛れ曲の曲IDが紛れ曲情報登録領域に登録される。なお、上述したステップ56〜ステップ76は請求項5(より詳しくは請求項6)に記載の候補要素選択手段に対応している。
続いて、端末装置12を介してサービス提供システム16がアクセスされ、アクセス元の端末装置12を操作している利用者(被認証者)に対して認証サーバ18が認証IDの入力を要請し、被認証者が端末装置12の入力装置を操作して入力した認証IDがネットワーク14を経由して認証サーバ18で受信された場合に、認証サーバ18によって実行される認証処理について、図5のフローチャートを参照して説明する。
この認証処理では、まずステップ100において、被認証者によって入力された認証IDを取得し、取得した認証IDをキーにして認証情報テーブルを検索することで、アクセス元の端末装置12を操作している被認証者に対応する認証情報テーブルを抽出する。次のステップ102では、ステップ100で抽出した認証情報テーブルの認証環境情報登録領域に登録されている認証環境情報の各パラメータ(総フレーズ数jn、正解フレーズの最大数jt及び最小数jb、正解候補フレーズ数tn及び紛れ候補フレーズ数dn)を代入した前出の(1)式を用い、曲リスト中の正解フレーズ数がjb〜jtの各ケースの出現比率を、曲リスト中での正解候補フレーズ及び紛れ候補フレーズの出現頻度の差、すなわち偏差Sが最小となるように決定する。
なお、(1)式を用いて各ケースの出現比率を決定する処理は、単一の演算式((1)式)から複数の変数(各ケースの出現比率)の値を導出する処理であるので、具体的には、特定ケースを除く残りの各ケースの出現比率を仮定した状態で偏差Sが最小(例えば偏差S=0)となる特定ケースの出現比率を演算することを、仮定した各ケースの出現比率を各々変化させながら繰り返した後に、演算を行った出現比率の個々の組合わせ毎の偏差S及び出現比率のばらつきを比較し、偏差Sが最小でかつ出現比率のばらつきも最小の組合わせを選択する、という煩雑な処理となり、処理に長い時間が掛かる。
このため、各種の認証環境条件毎に上記処理を予め各々行って、各種の認証環境条件毎に得られた各ケースの出現比率を所定のテーブルに予め登録しておき、ステップ102では、ステップ100で抽出した認証情報テーブルに登録されている認証環境情報(認証環境条件)に対応する各ケースの出現比率を所定のテーブルから読み出す処理を行うように構成することが好ましい。これにより、認証処理(図5)の実行時に、各ケースの出現比率の決定に要する時間を短縮することができる。上記のステップ102は本発明に係る決定手段に対応している。
次のステップ104では、ステップ102で決定した各ケースの出現比率を合計が1となるように正規化することで各ケースの出現確率を求め、発生させる乱数の数値範囲に対応する数直線を、各ケースの出現確率に応じて各ケースの何れかに各々対応する複数の区間に分割した数直線を作成する。一例として、図6(A)に示すような認証環境情報が認証情報テーブルに登録されており、ステップ102で決定した各ケースの出現比率が図6(B)に示すような値であった場合、この出現比率を正規化することで図6(B)に示す出現確率が得られる。また、乱数の数値範囲が0〜100である場合、この数値範囲に対応する数直線を、図6(B)に示す出現確率に応じて、正解数i=2〜5の各ケースの何れかに各々対応する4つの区間に分割することで、例として図6(C)に示すような数直線が得られることになる。
ステップ106では乱数を発生させ、ステップ104で作成した数直線のうち、発生させた乱数が属する区間に対応するケースの正解フレーズ数iを取得する。例えば図6(C)に示す数直線がステップ104で作成され、ステップ106で発生させた乱数が"51"であった場合、乱数"51"は数直線上のうち正解フレーズ数i=3であるケース2に対応する区間に属しているので、正解フレーズ数iとして"3"が取得されることになる。正解フレーズ数iを上述したステップ104,106のように決定することで、正解フレーズ数iがjt個〜jb個のうちの各値となる確率を、先に決定した各ケースの出現比率に一致させることができる。
次のステップ108では、被認証者に対応する認証情報テーブルの正解曲情報登録領域に曲IDが登録されている(tn÷rn)個の正解曲から、曲リストに設定するi個の正解フレーズを選択すると共に、認証情報テーブルの紛れ曲情報登録領域に曲IDが登録されている(dn÷rn)個の紛れ曲から、曲リストに設定する(jn-i)個の紛れフレーズを選択する。正解フレーズ及び紛れフレーズの選択は、例えば以下のようにして行うことができる。
すなわち、図7に示すように、楽曲DBに登録されている個々の音楽データには、当該音楽データからフレーズを抽出する際の抽出開始位置(図7ではフレーズ抽出開始位置を「▲」のマークで示している)が、種々の認証環境条件における抽出フレーズ数rnの最大値と同数だけ予め設定されており(図7は抽出フレーズ数rnの最大値=3の例を示している)、音楽データに付加されている属性情報のうちの抽出開始位置情報は、対応する音楽データに設定されている全てのフレーズ抽出開始位置を各々表している。また、抽出開始位置情報が表す抽出開始位置には各々ID(抽出開始位置ID:例えば図7に示す"P01","P02","P03")が付与されている。
なお、個々の楽曲に対して複数のフレーズを抽出する際の抽出開始位置の設定は、手動で行うことも原理的には可能ではあるものの多大な手間を要するので、自動的に行うことが現実的である。ここで、フレーズの抽出開始位置を自動的に設定する場合の設定方法としては、例えば個々の楽曲の内容とは無関係に、楽曲を先頭から再生したときの経過時間が所定値となる位置を、個々の楽曲からのフレーズの抽出開始位置として一律に設定する方法が挙げられるが、この方法では、フレーズ抽出開始位置の前後における楽曲の内容によっては、利用者が選択した正解曲から抽出した正解フレーズであっても、利用者自身が正解フレーズとして認識できない可能性がある。このため、個々の楽曲から抽出するフレーズは、その楽曲の特徴的なフレーズやその楽曲のクライマックスに相当する部分のフレーズであることが望ましく、例えばフレーズ抽出開始位置を設定する楽曲に対し、リズムの変化を検知することで楽曲のテンポを検知して小節の切れ目を認識すると共に、楽曲中で音量レベルが最大又は最大に近い値を示している部分を認識する等により、楽曲中の上記条件を満たすフレーズの部分を小節単位で判断し、判断した部分の先頭位置をフレーズの抽出開始位置として自動的に設定することが好ましい。
一方、本実施形態に係る曲リストは、例として図6(D)に示すように、認証時に再生する各フレーズのフレーズIDや再生順序が設定されたリストであり、曲リストに設定される各フレーズのフレーズIDは、フレーズを抽出する楽曲の曲IDと、当該楽曲からのフレーズ抽出開始位置を表す抽出開始位置IDから構成されている。従って、曲リストに設定するi個の正解フレーズの選択は、例えば、認証情報テーブルの正解曲情報登録領域に登録されている(tn÷rn)個の正解曲の曲IDから単一の曲IDをランダムに選択することをi回行うと共に、1〜rnの数値範囲の乱数を発生させ、発生させた乱数を抽出開始位置IDに変換・生成することをi回行い、選択したi個の曲IDに生成したi個の抽出開始位置IDを各々付加し、i個のフレーズIDを生成することで行うことができる。また同様に、曲リストに設定する(jn-i)個の紛れフレーズの選択についても、例えば、認証情報テーブルの紛れ曲情報登録領域に登録されている(tn÷rn)個の紛れ曲の曲IDから単一の曲IDをランダムに選択することを(jn-i)回行うと共に、1〜rnの数値範囲の乱数を発生させ、発生させた乱数を抽出開始位置IDに変換・生成することを(jn-i)回行い、選択した(jn-i)個の曲IDに生成した(jn-i)個の抽出開始位置IDを付加し、(jn-i)個のフレーズIDを生成することで行うことができる。
ステップ110では、ステップ108で選択したi個の正解フレーズのフレーズID及び(jn-i)個の紛れフレーズのフレーズIDをランダムに並べ替え、並べ替えたフレーズIDを曲リストの先頭から順に設定することで曲リストを生成する。これにより、例として図6(D)に示すような曲リストが生成される。
このように、本実施形態では、認証情報テーブルに曲IDが登録されたtn÷rn個の正解曲から抽出可能なtn個の正解候補フレーズの各々の曲リスト上での出現頻度と、認証情報テーブルに曲IDが登録されたdn÷rn個の紛れ曲から抽出可能なdn個の紛れ候補フレーズの各々の曲リスト上での出現頻度の差が最小となるように、生成した曲リスト中の正解スレーズの数がjt個〜jb個のうちの互いに異なる値となる各ケースの出現比率を決定し、曲リスト中の正解フレーズ数iを、当該正解フレーズ数iがjt個〜jb個のうちの各値となる確率が決定した各ケースの出現比率に一致するように決定し、決定した正解フレーズ数iに基づいて正解フレーズ及び紛れフレーズを選択して曲リスト(及び後述する認証用音楽データ)を生成しているので、認証時に被認証者に提示されるjn個のフレーズ中にtn個の正解候補フレーズの各々が出現する確率及びdn個の紛れ候補フレーズの各々が出現する確率がほぼ均一となり、あぶり出しによって正解候補フレーズや正解曲が第三者に弁別されることを防止することができる。
また本実施形態では、正解フレーズ数iがjt個〜jb個のうちの各値となる確率のばらつきが最小となるように、正解候補フレーズの数tn及び紛れ候補フレーズの数dnを事前に設定しているので、認証時に被認証者に提示されるjn個のフレーズ中の正解フレーズの数が或る値となるケースが高頻度で出現することが防止され、正解フレーズの数のランダム性も確保された好ましい認証を行うことができる。
次のステップ112では、ステップ110で生成した曲リストに設定されているjn個のフレーズ(再生対象フレーズ)の各々の長さ(再生時間)を、乱数等を用いてランダムに決定する。なお、本実施形態では再生対象フレーズの再生における再生時間の最小値Tminと最大値Tmaxが予め設定されており、ステップ112では、個々の再生対象フレーズの再生時間が最小値Tmin以上かつ最大値Tmax以下となるように決定する。ステップ114では、jn個の再生対象フレーズの音楽データを楽曲DBから順次取得する。特定の再生対象フレーズの音楽データの取得は、まず特定の再生対象フレーズのIDのうちの曲IDを取得し、取得した曲IDをキーにして楽曲DBを検索することで、再生対象フレーズの抽出対象の楽曲の音楽データを抽出し、次に特定の再生対象フレーズのIDのうちの抽出開始位置IDを取得し、取得した抽出開始位置IDを先に抽出した音楽データに付加されている属性情報のうちの抽出開始位置情報と照合することで、当該音楽データからの再生対象フレーズの抽出開始位置を認識し、認識した抽出開始位置からステップ112で決定した再生時間分の音楽データを抽出することによって成される。ステップ112では、上記処理をjn個の再生対象フレーズに対して各々行うことでjn個の再生対象フレーズの音楽データを取得した後に、取得したjn個の音楽データを再生順序に従って連結することで、認証時に再生する音楽データ(認証用音楽データ)を生成する。なお、上述したステップ104〜ステップ114は本発明に係る生成手段に対応している。
ステップ116では、ステップ114で生成した認証用音楽データ及び所定の認証用ページの情報を、被認証者が操作している端末装置12へ配信する。これにより、被認証者が操作している端末装置12の表示装置には、例として図8に示すような認証用ページが表示される。図8に示す認証用ページには、認証用音楽が再生されている間に被認証者が行うべき操作(正解曲が再生されている期間はボタンを押し続け、紛れ曲が再生されている期間はボタンを離し続ける操作)を説明する情報が表示されており、被認証者は、表示された認証用ページを参照することで、認証用音楽が再生されている間に行うべき操作を認識することができる。また、端末装置12の音声再生装置によって認証用音楽データが認証用音楽として再生されることで、jn個の再生対象フレーズ(正解フレーズ又は紛れフレーズ)が順に再生され、被認証者は、認証用音楽(順に再生されるjn個のフレーズ)を聴きながら上記の操作(認証用頁を参照して認識した操作)を行うことになる。
端末装置12で認証用音楽が再生されている間、認証サーバ18は次のステップ118において、先のステップ106で生成した曲リストに基づき、jn個のフレーズの各々が正解フレーズか紛れフレーズかを各々1/0の数値で表す認証用の基準配列YN(n)を生成する(但しn=1〜jn)。なお、基準配列YN(n)において"1"は正解フレーズを、"0"は紛れフレーズを表し、例えば図6(D)に示すように、jn=10個のフレーズのうち再生順で3番目、6番目及び8番目のフレーズが正解フレーズであった場合、基準配列YN(n)は
YN(n)=(0,0,1,0,0,1,0,1,0,0)
となる。基準配列YN(n)を生成すると、ステップ120では端末装置12での認証用音楽の再生が終了したか否か判定し、判定が肯定される迄ステップ120を繰り返す。
端末装置12での認証用音楽の再生が終了してステップ120の判定が肯定されるとステップ122へ移行し、認証用音楽が再生されている期間中の被認証者による操作結果を表す認証対象数列PINを端末装置12から取得する。これにより、jn個の正解/紛れフレーズが例として図9(A)に示すような順序、再生期間で再生された場合、被認証者による操作結果を表す認証対象数列PINとして、図9(C)に示すような数列が取得されることになる。なお、認証対象数列PINは認証用音楽の再生期間を一定時間毎に区切り、個々の時間内に被認証者がボタンを押していた(正解曲と認識していた)場合は"1"が設定され、被認証者がボタンを離していた(紛れ曲と認識していた)場合は"0"が設定されることで生成される。
次のステップ124では、先のステップ112で決定したjn個のフレーズの各々の長さ(再生時間)に基づき、ステップ122で取得した認証対象数列PINを、jn個のフレーズの各々の再生期間に対応するjn個の部分数列AT(n) (但しn=1〜jn)に分解する(図9(D)も参照)。なお、図9(D)では個々の部分数列をカンマで区切って示し、図9(C)では個々の部分数列の境界位置を破線で示している。
ここで、例えば図9(A)に示すような順序、再生期間でjn個の正解/紛れフレーズが順に再生された際に、被認証者が、再生されているフレーズの切り替わりを瞬時に認識すると共に、切り替わり後のフレーズが正解フレーズか紛れフレーズかを瞬時に判断し、その結果を即座に操作へ反映させたとすると、認証対象数列PINとして、図9(B)に示すような理想的な数列(部分数列AT(1)〜AT(jn)が各々"0"のみ又は"1"のみから構成される数列)が得られるが、実際には、再生フレーズの切り替わりを被認証者が認識する迄に時間がかかったり、切り替わり後のフレーズが正解フレーズか紛れフレーズかを被認証者が判断する迄に時間がかかったり、当該判断の結果を被認証者が操作へ反映させる迄に時間が掛かることで、図9(C),(D)にも示すように、"0"のみ又は"1"のみから構成される部分数列は少数であり、大半の部分数列は"0"と"1"が混在している。
このため本実施形態では、被認証者がフレーズの切り替わりを認識するのに要する最長時間Tchと、切り替わり後のフレーズが正解フレーズか紛れフレーズかを被認証者が判断して操作へ反映させるのに要する最長時間Tjdを考慮し、フレーズの再生時間の最小値Tminを
Tmin≫Tch+Tjd
に設定しており、また、フレーズの切り替わりからTch+Tjdに相当する時間が経過する迄の期間を、当該期間における被認証者の操作結果を被認証者の認証に用いない猶予期間に設定している。そしてステップ126では、例として図9(E)に示すように、個々の部分数列AT(1)〜AT(jn)の先頭から上記の猶予期間に相当する部分を各々除去する。なお図9(E)では、猶予期間に相当する部分が個々の部分数列の先頭2桁分(図9(D)に下線で示す部分)であった場合を示しており、猶予期間に相当する部分を除去した部分数列をAT'(n)と表記している。また、時間Tch,Tjdは個人差が大きく、また楽曲を用いた認証に対する習熟度によっても左右される可能性が高いので、利用者が楽曲を用いた認証を受けた回数や過去の認証における認証成功割合等に応じて、個々の利用者毎に相違させることが好ましい(例えば利用者が楽曲を用いた認証を受けた回数や過去の認証における認証成功割合の増加に伴って、時間Tch,Tjdの値を小さくし、これに伴って時間Tminの値も小さくする等)。
ステップ128では、ステップ126の処理を経た特定の部分数列AT'(i)を対応する基準配列YN(i)と照合し、部分数列AT'(i)の全桁が基準配列YN(i)と同一の値であれば照合OKと判断し、部分数列AT'(i)の中に基準配列YN(i)と値の異なる桁があれば照合NGと判断することを、全ての部分数列AT'(1)〜AT'(jn)について各々行う。次のステップ130では、ステップ128で照合NGと判断された部分数列AT'(i)が有るか否か判定する。判定が否定された場合は何ら処理を行うことなくステップ134へ移行するが、判定が肯定された場合はステップ132へ移行し、照合NGと判断した部分数列AT'(i)に対して追加照合処理を行う。
具体的には、図9(E)の例では全桁が同一の値でない部分数列AT'(4),AT'(9),AT'(10)が照合NGと判断される。これらの部分数列は、前述した猶予期間に相当する部分を既に除去しているので、これらの部分数列の全桁が同一の値でない理由としては、対応するフレーズの正解/紛れの判定を被認証者が一時的に誤った等が挙げられる。被認証者が正規の利用者であれば、フレーズの正解/紛れの判定を一時的に誤ったとしても、そのフレーズが再生が或る程度の時間再生された時点では、正解/紛れを正しく判定できている可能性が非常に高い。
このため、ステップ132の追加照合処理では、部分数列AT'(i)の下位の所定桁数の値(対応するフレーズの再生期間の終了側の期間における被認証者の操作結果を表す値)を基準配列YN(i)と照合し、部分数列AT'(i)の下位所定桁数が基準配列YN(i)と全て同一の値であれば照合OKと判断し、部分数列AT'(i)の下位所定桁数の中に基準配列YN(i)と値の異なる桁があれば照合NGと判断することを、ステップ128の照合で照合NGと判断した全ての部分数列AT'(i)に対して各々行う。なお、この追加照合処理で照合する桁数は経験的に設定すればよい。
そしてステップ134では、照合OKと判定した部分数列の数に基づいて被認証者が正規の利用者か否かを判定し、被認証者が正規の利用者でないと判定した場合には、認証失敗を通知するエラーメッセージを端末装置12の表示装置に表示させる一方、被認証者が正規の利用者であると判定した場合は認証OKをサービス提供サーバ20へ通知し、認証処理を終了する。これにより、正規の利用者であると判定された被認証者のみに対し、サービス提供サーバ20によって所定のサービスが提供されることになる。なお、上述したステップ116〜ステップ134は本発明に係る認証手段(詳しくは請求項7、請求項8に記載の認証手段)に対応している。
なお、上記ではtn個の正解候補フレーズの各々の曲リストでの出現頻度とdn個の紛れ候補フレーズの各々の曲リスト中での出現頻度の差が最小となるように、曲リスト中の正解フレーズ数が互いに異なる各ケースの出現比率を決定した後に、各ケースの出現比率に応じて複数の区間に分割した数直線を作成し、乱数を発生させ、複数の区間のうち発生させた乱数が属する区間に対応するケースにおける正解フレーズ数iを判断し、tn個の正解候補フレーズからi個の正解フレーズを選択すると共にdn個の紛れ候補フレーズから(jn-i)個の紛れフレーズを選択して曲リストを生成する態様を説明したが、曲リストは上記の生成方法で生成することに限定されるものではなく、例えば各ケースの出現比率(出現頻度p(i))を整数値として求めておき、特定のケースに対応する曲リストのパターン(特定のケースにおける正解フレーズ数iと同数の正解フレーズを含む曲リストのパターン)を特定のケースの出現頻度p(i)の整数値と同数だけ生成しておくことを、各ケースについて各々行って生成した曲リストのパターンを記憶手段に登録しておき、生成しておいた全ケースの曲リストのパターンから任意の曲リストのパターンをランダムに選択して曲リストを生成する生成方法を適用してもよい。
具体的には、認証環境条件が同一であれば、異なる利用者であっても曲リストのパターンや各ケースの出現比率は同一(但し、正解曲及び紛れ曲自体は個々の利用者毎に相違する)でよいことに着目し、例として図10(A)に示すような曲リスト情報をHDD18Cに予め記憶しておく。この曲リスト情報は、特定の認証環境条件において、tn個の正解候補フレーズの各々の曲リストでの出現頻度とdn個の紛れ候補フレーズの各々の曲リスト中での出現頻度の差が最小となるように、各ケースの出現比率(出現頻度p(i))を整数値として決定した後に、各ケース毎に、各ケースの出現頻度p(i)の整数値と同数だけ曲リストパターンを生成し、生成した曲リストパターンを各々登録した曲リストパターンテーブルが、各種の認証環境条件毎に設けられ、更に、個々の曲リストパターンテーブルに対応する認証環境条件が各々登録された認証環境条件登録テーブルが設けられて構成されている。例として図10(A)には、jn=10,jt=5,jb=2,tn=10,dn=19,rn=2の認証環境条件(認証環境A)に対応する曲リストパターンテーブル(の一部)と、jn=8,jt=4,jb=2,tn=8,dn=15,rn=1の認証環境条件(認証環境B)に対応する曲リストパターンテーブル(の一部)と、認証環境条件登録テーブルのうち認証環境A,Bが登録された部分が各々示されている。
なお、上記の曲リストパターンには、上記の曲IDに代えて、認証情報テーブルの正解曲情報登録領域又は紛れ曲情報登録領域上での曲IDの登録位置を指し示すポインタ情報(例えば図10(A)に示す"D2","T3"等)が設定されている。図10(A)に示すポインタ情報を図3に示す認証情報テーブルの正解曲情報登録領域及び紛れ曲情報登録領域と比較しても明らかなように、図10(A)に示すポインタ情報の1桁目の"T"は正解曲情報登録領域を、"D"は紛れ曲情報登録領域を表し、2桁目の数字は正解曲情報登録領域又は紛れ曲情報登録領域における曲IDの登録位置を表している。なお、図10(A)に示すポインタ情報の体系は単なる一例であり、認証情報テーブルの正解曲情報登録領域又は紛れ曲情報登録領域上での曲IDの登録位置を指し示す情報であれば、別の体系の情報を用いてもよいことは言うまでもない。
上記の曲リスト情報を利用して曲リストを生成する場合、まず、認証情報テーブルの認証環境情報登録領域に登録されている認証環境情報をキーとして、当該認証環境情報が表す認証環境条件に合致する曲リストパターンテーブルを検索・抽出し、次に、抽出した曲リストパターンテーブルに登録されている複数の曲リストパターンの中から、認証に用いる曲リストパターンをランダムに選択して読み出し、続いて、読み出した曲リストパターン中のポインタ情報を、認証情報テーブルに登録されている対応する曲ID(認証情報テーブルの正解曲情報登録領域及び紛れ曲情報登録領域のうちポインタ情報が指し示す位置に登録されている曲ID)に書替えることで曲リストを生成する。例えば、認証情報テーブルに登録されている認証環境情報が表す認証環境条件が認証環境Aであり、対応する認証環境A用の曲リストパターンテーブルからランダムに選択した曲リストパターンが図10(A)に示すパターン1であり、図3に示す曲IDが認証情報テーブルに登録されている場合、読み出されたパターン1の曲リストパターン中のポインタ情報が各々対応する曲IDに書替えされることで、例として図10(B)に示すような曲リストが生成される。
上述した曲リスト生成方法は、先に説明した曲リスト作成方法(数直線を用いる作成方法)と比較して、曲リスト情報を記憶するためにより大容量の記憶装置が必要となるものの、認証環境条件に合致する曲リストパターンテーブルから曲リストパターンをランダムに選択し、選択した曲リストパターン中のポインタ情報を曲IDに書替えることで曲リストを生成できるので、曲リスト生成をより短時間で行うことができる。また、上述した曲リスト作成方法は、曲リストパターンテーブルを認証環境条件毎に生成・登録しており、認証環境条件が同一の利用者(被認証者)に対する曲リストの生成時に同一の曲リストパターンテーブルが使用されるので、個々の利用者を単位として曲リストパターンを生成・登録する場合と比較すれば記憶装置の記憶領域も節減することができる。
また、上記では認証時に再生されるjn個のフレーズでのtn個の正解候補フレーズの各々の出現頻度とdn個の紛れ候補フレーズの各々の出現頻度の差が最小となるように、jn個のフレーズ中にjt個〜jb個のうちの互いに異なる数の正解フレーズが含まれている各ケースの出現比率を求めたときに、各ケースの出現比率のばらつきが最小となるように正解候補フレーズ数tn及び紛れ候補フレーズ数dnを設定することを、曲登録処理(図2)で正解曲及び紛れ曲を選択する前に行う態様を説明したが、本発明はこれに限定されるものではなく、正解候補フレーズ数tn及び紛れ候補フレーズ数dn(や認証環境条件を規定する他のパラメータ)が事前に固定的に設定されている態様にも適用可能であることは言うまでもない。
更に、上記では、各ケースの出現比率のばらつきを最小とするための紛れ候補フレーズ数dnを、紛れ候補フレーズ数dnの値を1ずつ変化させながら各ケースの出現比率を試算して求める態様を説明したが、本発明はこれに限定されるものではなく、個々の認証環境条件における紛れ候補フレーズ数dn以外の各パラメータ(総フレーズ数jn、正解フレーズの最大数jt及び最小数jb、正解候補フレーズ数tn)を前出の(2)式に代入して紛れ候補フレーズ数dnを演算し、(2)式によって算出された紛れ候補フレーズ数dnが非整数の場合は四捨五入等の整数化を行うことで決定するようにしてもよい。これにより、各ケースの出現比率のばらつきが最小となるように紛れ候補フレーズ数dnを決定することを、略一定の短い時間内に行うことができる。また、 (2)式を用いれば略一定の短い時間内に紛れ候補フレーズ数dnを決定できることから、候補フレーズ数テーブルを省略し、曲登録処理の実行時に、紛れ候補フレーズ数dn以外の各パラメータが確定した後に、各パラメータを(2)式に代入して各ケースの出現比率のばらつきが最小となる紛れ候補フレーズ数dnを演算するようにしてもよい。上記のように(2)式を用いて正解候補フレーズ数tn及び紛れ候補フレーズ数dnを決定することは請求項2記載の発明に対応している。
また、上記では、(1)式を用いて各種の認証環境条件毎に決定した各ケースの出現比率をテーブルに予め登録しておき、認証環境情報(認証環境条件)に対応する各ケースの出現比率をテーブルから読み出すことで、各ケースの出現比率を決定する態様を説明したが、これに限定されるものではなく、上記のように、(2)式を用いて各ケースの出現比率のばらつきを最小とするための紛れ候補フレーズ数dnを演算する場合には、以下のようにして各ケースの出現比率を決定することが好ましい。すなわち、(2)式を用いて算出した紛れ候補フレーズ数dnが整数の場合は、各ケースの出現頻度p(i)として、次式に従って演算した頻度p(i)を一律に各々設定する。
この場合、各ケースの出現頻度p(i)が全て等しくなると共に、前出の(1)式における偏差S=0となることで、認証時に被認証者に提示されるjn個のフレーズ中にtn個の正解候補フレーズの各々が出現する確率及びdn個の紛れ候補フレーズの各々が出現する確率が等しくなるので、あぶり出しによって正解候補フレーズや正解曲が第三者に弁別されることを確実に防止することができる。なお、算出した紛れ候補フレーズ数dnが整数の場合に、上式を用いて各ケースの出現頻度p(i)を一律に各々設定することは請求項3記載の発明に対応している。
一方、(2)式を用いて算出した紛れ候補フレーズ数dnが非整数の場合は、算出された紛れ候補フレーズ数dnの値を四捨五入して整数化した後に、整数化後の紛れ候補フレーズ数dnを、総フレーズ数jn、正解フレーズの最大数jt及び最小数jb、正解候補フレーズ数tnと共に前出の(7),(8)式に代入し、この(7),(8)式から成る二元連立方程式を解くことで変数x,yの値を算出し、曲リスト中の正解フレーズ数iが前出の(10)式で求まる整数j以下のケースの出現比率(出現頻度p(i))として変数xを設定すると共に、曲リスト中の正解フレーズ数iが整数jよりも大きいケースの出現比率(出現頻度p(i))として変数yを設定する。
この場合、曲リスト中の正解フレーズ数iが整数j以下のケースの出現頻度p(i)と、曲リスト中の正解フレーズ数iが整数jよりも大きいケースの出現頻度p(i)に差が生ずることになるが、各ケースの出現頻度p(i)として設定する変数x,yは、紛れ候補フレーズ数dnの理想値(整数化前の非整数値)に対して±1/2の丸め誤差を有する整数化後の紛れ候補フレーズ数dnを用いて算出しているので、上記の出現頻度p(i)の差は実用上問題が無い程度の僅かな大きさに収まる。一方、上記のようにして各ケースの出現比率(出現頻度p(i))を設定することで、 (1)式における偏差S=0となることで、認証時に被認証者に提示されるjn個のフレーズ中にtn個の正解候補フレーズの各々が出現する確率及びdn個の紛れ候補フレーズの各々が出現する確率が等しくなるので、あぶり出しによって正解候補フレーズや正解曲が第三者に弁別されることを防止することができる。なお、算出した紛れ候補フレーズ数dnが非整数の場合に、(7),(8)式を用いて各ケースの出現頻度p(i)を各々設定することは請求項4記載の発明に対応している。
また、上記では本発明に係る認証装置を単一のコンピュータ(認証サーバ18)によって実現する態様を説明したが、本発明はこれに限定されるものではなく、例えば楽曲DBを記憶する記憶装置と接続されインターネット等のネットワークを介して認証サーバ18と接続されたコンピュータ(楽曲サーバ)が認証サーバ18と別に設けられ、認証サーバ18がネットワークを介して楽曲サーバから音楽データを取得する構成等のように、複数台のコンピュータによって本発明に係る認証装置を実現するようにしてもよいことは言うまでもない。