(58)【調査した分野】(Int.Cl.,DB名)
複数のキーの中からユーザ操作により選択されたキーに対応する情報と、ユーザの認証を許可する際に使用する認証情報と、が一致するか否かの判断である認証を行う入力情報認証装置であって、
予め登録された第1のキーに対応する情報を前記認証情報とするか、または、前記第1のキーに対して予め定められた位置関係にある第2のキーに対応する情報を前記認証情報とするか、を前記第1のキーの表示状態に応じて判断し、
前記第1のキーの表示状態と前記第2のキーの表示状態とは、前記認証を行う度に変更する、ことを特徴とする入力情報認証装置。
前記第2のキーは、当該キーの入力操作を受け付け可能な表示状態のキーと、当該キーの入力操作を受け付け不可能な表示状態のキーと、が存在し、当該キーの入力操作を受け付け可能な表示状態のキーに対応する情報を前記認証情報とすると判断する、ことを特徴とする請求項2記載の入力情報認証装置。
複数のキーの中からユーザ操作により選択されたキーに対応する情報と、ユーザの認証を許可する際に使用する認証情報と、が一致するか否かの判断である認証を行う入力情報認証装置のコンピュータに実行させるプログラムであって、
予め記憶部に登録された第1のキーに対応する情報を前記認証情報とするか、または、前記第1のキーに対して予め定められた位置関係にある第2のキーに対応する情報を前記認証情報とするか、を前記第1のキーの表示状態に応じて判断する処理と、
前記第1のキーの表示状態と前記第2のキーの表示状態とを前記認証を行う度に変更する処理と、を前記コンピュータに実行させることを特徴とするプログラム。
【発明を実施するための形態】
【0015】
(本開示の一態様にかかる入力情報認証装置100の実施形態の概要)
まず、
図1、
図2を参照しながら、本開示の一態様にかかる入力情報認証装置100の実施形態の概要について説明する。
図1は、本開示の一態様にかかる入力情報認証装置100の構成例を示し、
図2は、複数のキーで構成する表示パターン10の構成例を示す図である。
図2では、1〜9、A〜Gのキーで表示パターン10を構成している。
【0016】
本開示の一態様にかかる入力情報認証装置100は、
図2に示す複数のキーの中からユーザ操作により選択されたキーに対応する情報と、ユーザの認証を許可する際に使用する認証情報と、が一致するか否かの判断である認証を行う。
【0017】
本開示の一態様にかかる入力情報認証装置100は、予め登録された第1のキーに対応する情報を認証情報とするか、または、第1のキーに対して予め定められた位置関係にある第2のキーに対応する情報を認証情報とするか、を第1のキーの表示状態に応じて判断する、ことを特徴とする。
【0018】
例えば、
図2に示す表示パターン10において、第1のキーを「1」とし、第2のキーを「1」の4近傍(上下左右を意味する)である「D」、「5」、「4」、「2」としたと仮定する。また、第1のキーを「3」とし、第2のキーを「3」の4近傍である「F」、「7」、「2」、「4」としたと仮定する。また、
図2に示す表示パターン10において白抜きである「1」は、入力操作を受け付け可能な表示状態であり、色が施されている「3」は、入力操作を受け付け不可能な表示状態であると仮定する。
【0019】
この場合、第1のキーである「1」は、入力操作を受け付け可能な表示状態であるため、第1のキーである「1」を認証情報と判断する。また、第1のキーである「3」は、入力操作を受け付け不可能な表示状態であるため、第2のキーである「F」、「7」、「2」、「4」を認証情報と判断する。但し、第2のキーである「F」、「4」は、入力操作を受け付け不可能な表示状態であるため、入力操作を受け付け可能な表示状態である「2」、「7」のみを認証情報と判断する。
【0020】
本開示の一態様によれば、予め登録された第1のキーに対応する情報を認証情報とするか、または、第1のキーに対して予め定められた位置関係にある第2のキーに対応する情報を認証情報とするか、を第1のキーの表示状態に応じて判断している。このため、ユーザ操作により入力されたキーが、第1のキーであるか、または、第2のキーであるかを第三者が判別できない。その結果、認証のための入力操作を第三者に見られてしまった場合でも、認証を許可する際に使用する認証情報の類推を第三者に困難にすることができる。以下、添付図面を参照しながら、本開示の一態様にかかる入力情報認証装置100の実施形態について詳細に説明する。
【0021】
(第1の実施形態)
<入力情報認証装置100の構成例>
まず、
図1を参照しながら、本実施形態の入力情報認証装置100の構成例について説明する。
【0022】
本実施形態の入力情報認証装置100は、表示入力部110と、制御部120と、記憶部130と、を有して構成する。
【0023】
表示入力部110は、複数のキーをタッチボードとして画面表示し、その画面表示したキーへの接触位置を検出し、その接触位置の位置情報に基づいて、複数のキーの中でどのキーへの入力操作が行われたかを判断する。
【0024】
本実施形態の表示入力部110は、例えば、
図2に示す表示パターン10を表示する。表示パターン10は、表示入力部110のタッチボードを構成する各キーに対してキートップ情報を配置して構成している。
図2では、キートップ情報として、数字入力用の1〜9、A〜Gを用いている。
図2に示す表示パターン10は、複数のキーの半分程度のキーがマスクされている。本実施形態では、表示パターン10を構成するキーの中でマスクされていないキーの入力操作を受け付け、マスクされているキーの入力操作を受け付けないようになっている。
図2に示す表示パターン10の場合は、マスクされていない「1」、「2」、「7」、「8」、「9」、「A」、「E」、「G」のみ、キーの入力操作を受け付けるようになっている。
【0025】
表示入力部110は、ユーザ操作により表示パターン10に対するキーの入力操作が行われた場合に、その入力操作が行われたキーに対応する情報を入力キーとして制御部120に送信する。
【0026】
記憶部130は、ユーザ認証時に使用するパスコード情報を記憶する。パスコード情報は、表示パターン10を構成する複数のキーで構成しており、複数桁になっている。例えば、パスコード情報は、「143459」の複数桁で構成する。
【0027】
制御部120は、表示入力部110に表示する表示パターン10の表示制御を行う。また、表示入力部110からユーザ操作により入力された入力キーの認証制御を行う。本実施形態の制御部120は、パスコード情報設定部121と、パターン生成部122と、キーコード変換部123と、認証部124と、を有して構成する。
【0028】
パスコード情報設定部121は、ユーザ認証時に使用するパスコード情報を記憶部130に記憶する。パスコード情報は、表示パターン10を構成する複数のキーに対応する情報で構成しており、複数桁になっている。パスコード情報は、表示入力部110からユーザ操作によりキーを入力して記憶部130に記憶したりすることが可能である。また、パスコード情報設定部121がランダムに生成して記憶部130に記憶したりすることが可能である。但し、正規ユーザは、記憶部130に記憶したパスコード情報を把握している必要がある。本実施形態では、パスコード情報として「143459」を記憶部130に記憶する。
【0029】
パターン生成部122は、表示入力部110に表示する表示パターン10を生成する。表示パターン10は、以下の条件で生成する。
【0030】
表示パターン10を構成する複数のキーのうち、半分程度のキーをマスクする。キーをマスクするマスクパターンは、以下の条件で予め生成する。なお、マスクパターンは、表示パターン10を構成する複数のキーの中でマスクされたキーの入力操作を受け付けないようにするパターンである。例えば、表示パターン10を構成する「3」のキーがマスクされていた場合は、ユーザがその「3」のキーの入力操作を行っても、その「3」のキー入力操作を受け付けないようにする。これにより、表示入力部110は、マスクされていないキーに対する入力操作が行われた場合に、そのキーの情報を入力キーとすることができる。
【0031】
条件1(推奨条件):パスコード情報を構成するキーを桁の大きい方から順番に表示入力部110から入力しようとする際に、そのパスコード情報の半分の桁数程度がマスクされるようにする。例えば、パスコード情報が6桁のキーで構成する場合は、2〜4桁分のキーがマスクされるようにする。具体的には、パスコード情報が「143459」の場合に、「4」、「3」、「5」のキーがマスクされるようにする。これにより、パスコード情報の6桁のキー(143459)のうち、4桁のキー(1****9)がマスクされることになる。「*」は、マスクされているキーを意味する。
条件2(必須条件):あるキーがマスクされている場合は、そのマスクされたキーの4近傍(4近傍は、上下左右を意味する)のキー全てがマスクされないようにする。例えば、「6」のキーの4近傍(上下左右)として上に「2」、下に「A」、右に「7」、左に「5」が表示される場合は、その上下左右の「2」、「A」、「7」、「5」のうち少なくとも1つはマスクされないようにする。
【0032】
上記の条件1、2で生成されたマスクパターンは、記憶部130に記憶されたパスコード情報が「143459」であるとすると、パスコード情報の中でマスクされないキーの部分は、次のようになる。以下の桁は、パスコード情報の中でマスクされないキーの桁を意味する。
【0033】
2桁の場合→13、15、19、44、35、39、59
3桁の場合→144、135、139、434、445、449、359
4桁の場合→1434、1445、1449、1359、4345、4349、4459
【0034】
本実施形態では、パスコード情報は「143459」としており、パスコード情報には「4」が2つ存在するため、その「4」のどちらか一方だけがマスクされていない表示パターン10を生成することができない。そのため上記のようになっている。また、「1,3」だけがマスクされていない状態は、例えば「6」が上記の条件2に抵触する。そのようなことがないようにマスクを配置する。これにより、マスクされたキーの4近傍のうち、何れかのキーの入力操作を行うことができる。
【0035】
パターン生成部122は、上記条件1、2で予め生成したマスクパターンの中からランダムにマスクパターンを選択し、その選択したマスクパターンでキーがマスクされた表示パターン10を生成する。そして、その生成した表示パターン10を表示入力部110に表示する。これにより、
図2に示す表示パターン10が表示入力部110に表示されることになる。
【0036】
図2に示す表示パターン10は、パスコード情報「143459」のうち「1*****9」が表示されている。「*」は、マスクされたキーを意味する。
図2に示す表示パターン10において、マスクされていないキーである「1」、「9」は入力操作を受け付け、マスクされたキーである「4」、「3」、「5」は入力操作を受け付けないようになっている。
【0037】
ユーザは、表示入力部110に表示された表示パターン10を参照し、記憶部130に記憶したパスコード情報を以下の条件で表示入力部110から入力する。
【0038】
条件1:パスコード情報の該当入力桁のキーがマスクされていない場合は、当該キーを入力する。パスコード情報の該当入力桁のキーがマスクされている場合は、当該キーの4近傍のキーの中でマスクされていないキーを入力する。
【0039】
これにより、記憶部130に記憶したパスコード情報が「143459」で、
図2に示す表示パターン10が表示されている場合は、「*4345*」は、マスクされているので、4近傍のキーの中でマスクされていないキーを入力することになる。
【0040】
例えば、マスクされた「4」のキーの場合は、その「4」の4近傍のキーであり、マスクされていない「G」、「8」、「1」を入力する。
また、マスクされた「3」のキーの場合は、その「3」の4近傍のキーであり、マスクされていない「7」、「2」を入力する。
また、マスクされた「5」のキーの場合は、その「5」の4近傍のキーである「1」、「9」、「8」を入力する。
【0041】
このため、例えば、パスコード情報「*4345*」に対応する4近傍のキーとして、「*82G8*」を入力することで、「182G89」と入力することになる。
【0042】
キーコード変換部123は、パターン生成部122が生成した表示パターン10と、記憶部130に記憶されているパスコード情報と、を基に、表示パターン10を構成するパスコード情報に対して認証OKとする認証情報を生成する。例えば、
図2に示す表示パターン10と、パスコード情報「143459」と、を基に、以下の認証情報を生成する。
【0043】
「1」の場合は、マスクされていないため、「1」が認証情報と判断する。このため、「1」のキー自身を認証情報として生成する。
「4」の場合は、マスクされているため、「4」の4近傍が認証情報と判断する。また、「4」の4近傍でマスクされていないキーを認証情報と判断する。このため、「4」のキーの4近傍でマスクされていない「G」、「8」、「1」のキーを認証情報として生成する。
「3」の場合は、マスクされているため、「3」の4近傍が認証情報と判断する。また、「3」の4近傍でマスクされていないキーを認証情報と判断する。このため、「3」のキーの4近傍でマスクされていない「7」、「2」のキーを認証情報として生成する。
「5」の場合は、マスクされているため、「5」の4近傍が認証情報と判断する。また、「5」の4近傍でマスクされていないキーを認証情報と判断する。このため、「5」のキーの4近傍でマスクされていない「1」、「9」、「8」のキーを認証情報として生成する。
「9」の場合は、マスクされていないため、「9」が認証情報と判断する。このため、「9」のキー自身を認証情報として生成する。
【0044】
認証部124は、表示入力部110から入力された各桁の入力キーと、キーコード変換部123で生成した各桁の認証情報と、を照合する。認証部124は、各桁の入力キー全てがその桁に対応する認証情報に該当する場合は、認証OKと判定し、それ以外は、認証NGと判定する。例えば、
図2に示す表示パターン10の場合は、表示入力部110から入力された入力キーが「182G89」の場合は、各桁の入力キーが、パスコード情報「143459」の各桁の認証情報に該当するため、認証OKとなる。
【0045】
なお、
図2に示す表示パターン10の場合では、マスクされていない8つのキーをランダムに打鍵して正しいパスコード情報と一致する確率は、「1」は1/8、「4」は3/8、「3」は2/8、「5」は3/8、「9」は1/8である。このため、パスコード情報が「143459」の場合は、1/8*3/8*2/8*3/8*3/8*1/8=1/4855となる。
【0046】
また、第三者が正規ユーザのキーの入力操作を一度盗み見て正しいパスコード情報を類推する場合は、各キーの入力操作に対して平均して3つの類推候補のキーがある。1つは、入力されたキー自身である。残りは、入力されたキーの4近傍の中でマスクされたキーであり、4近傍の中で平均的に2つのキーがマスクされているため、そのマスクされた2つのキーとなる。このため、3つのキーが類推候補になる。即ち、入力操作を一度盗み見て正しいパスコード情報を類推できる確率は、1/3^6=1/729となる。
【0047】
正規ユーザが
図2に示す表示パターン10から「182G89」を入力した場合に、第三者がパスコード情報を類推できる確率を実際に計算すると、以下のようになる。
「182G89」の個々のキーに対する可能性が、
「1」の場合は、「1」のキー自身、「1」のキーの4近傍でマスクされた「5」、「D」、「4」のキーがあり、
「8」の場合は、「8」のキー自身、「8」のキーの4近傍でマスクされた「C」、「4」、「5」のキーがあり、
「2」の場合は、「2」のキー自身、「2」のキーの4近傍でマスクされた「6」、「3」のキーがあり、
「G」の場合は、「G」のキー自身、「G」のキーの4近傍でマスクされた「4」、「C」、「F」、「D」があり、
「9」の場合は、「9」のキー自身、「9」のキーの4近傍でマスクされた「D」、「5」、「C」がある。
このため、「182G89」の個々のキーに対する正しいキーの可能性が、
15D4、485C、236、CFD4G、485C、5C9Dとなるため、1/4*1/4*1/3*1/5*1/4*1/4=1/3840となる。
【0048】
ユーザ認証が認証OKになった場合は、パターン生成部122は、上記条件1、2で予め生成したマスクパターンの中からランダムにマスクパターンを選択し、その選択したマスクパターンでキーがマスクされた表示パターン10を生成する。そして、その生成した表示パターン10を表示入力部110に表示する。これにより、例えば、
図3に示す表示パターン10が表示入力部110に表示されることになる。
【0049】
この場合、先程の「182G89」を第三者が盗み見ていても、次の
図3に示す表示パターン10では、「182G8*」が隠れているため、第三者が盗み見たパスコード情報をそのまま入力することはできない。また、3桁目の「2」が入力できたとしても、マスクパターンの変化により3桁目の「3」がマスクされていないため、入力が「**3**9」と一致していなくてはならず、「2」では一致しない。この場合、先程のパスコード情報を盗み見て類推した15D4、485C、236、CFD4G、485C、5C9Dの候補を基に、正しいパスコード情報を類推して入力する必要がある。
【0050】
図3の表示パターン10の場合は、記憶部130に記憶されているパスコード情報が「143459」に対して、表示入力部110に表示されているのは、「**3**9」である。このため、例えば、「14*45*」に対応する4近傍のキーとして、「D3*36*」を入力したとすると、入力は「D33369」となる。
【0051】
この場合、「D33369」の個々のキーに対する正しいキーの可能性が、
D1GE、324、324、324、6A25、95Aとなる。
【0052】
このため、第三者が「182G89」と「D33369」との2回の入力操作を盗み見した場合でも、各キーの可能性は、1D、4、23、4、5、59となる。このため、1/2*1/1*1/2*1/1*1/1*1/2=1/8となり、正しいパスコード情報を一意に決定できないことになる。
【0053】
本実施形態では、パスコード情報を構成するキーの中で表示入力部110から入力できないキーを認証の度に毎回変更することで、認証の度に正規ユーザに毎回異なるキーの入力操作を強制することができる。その結果、正規ユーザは、認証の度に毎回異なるキーの入力操作を行うことになり、正規ユーザのキーの入力操作を第三者が複数回盗み見した場合でも、正しいパスコード情報を第三者が類推できないようにすることができる。
【0054】
<入力情報認証装置100の処理動作例>
次に、
図4を参照しながら、本実施形態の入力情報認証装置100の処理動作例について説明する。
【0055】
まず、パターン生成部122は、記憶部130に記憶されているパスコード情報と、予め生成したマスクパターンと、を基に、パスコード情報の一部のキーがマスクされた表示パターン10を生成する(ステップA1)。例えば、記憶部130に「143459」のパスコード情報が記憶されている場合に、パターン生成部122は、
図2に示す表示パターン10を生成する。
図2の表示パターン10は、「143459」のパスコード情報の中で、「4」、「3」、「5」のキーがマスクされている。
【0056】
キーコード変換部123は、パターン生成部122が生成した表示パターン10と、記憶部130に記憶されているパスコード情報と、を基に、表示パターン10を構成するパスコード情報に対して認証OKとする認証情報を生成する(ステップA2)。例えば、
図2に示す表示パターン10と、パスコード情報「143459」と、を基に、以下の認証情報を生成する。
【0057】
「1」の場合は、「1」のキー自身を認証情報として生成する。
「4」の場合は、「4」のキーの4近傍でマスクされていない「G」、「8」、「1」のキーを認証情報として生成する。
「3」の場合は、「3」のキーの4近傍でマスクされていない「7」、「2」のキーを認証情報として生成する。
「5」の場合は、「5」のキーの4近傍でマスクされていない「1」、「9」、「8」のキーを認証情報として生成する。
「9」の場合は、「9」のキー自身を認証情報として生成する。
【0058】
パターン生成部122は、
図2に示す表示パターン10を表示入力部110に表示する(ステップA3)。これにより、
図2に示す表示パターン10が表示入力部110に表示される。
【0059】
ユーザは、表示入力部110に表示された表示パターン10を参照し、ユーザ自身の記憶に基づき、パスコード情報として入力すべきキーの入力操作を行う。パスコード情報は、「143459」の6桁であるため、6桁のキーの入力操作を行う。
【0060】
認証部124は、表示入力部110から所定回数のキーの入力操作が行われ、所定文字数のキーが入力された場合に(ステップA4/Yes)、表示入力部110から入力された各桁の入力キーと、キーコード変換部123で生成した各桁の認証情報と、を照合する(ステップA5)。本実施形態では、パスコード情報は、6桁であるため、6回のキー入力操作が行われ、6文字のキーが入力された場合に(ステップA4/Yes)、照合を開始する(ステップA5)。
【0061】
認証部124は、各桁の入力キー全てがその桁に対応する認証情報に該当する場合は、認証OKと判定し、それ以外は、認証NGと判定する。例えば、
図2に示す表示パターン10の場合は、表示入力部110から入力された入力キーが「182G89」の場合は、各桁の入力キーが、パスコード情報「143459」の各桁の認証情報に該当するため、認証OKとなる。
【0062】
<本実施形態の入力情報認証装置100の作用・効果>
本実施形態では、認証OKとなった後に、次回の認証のための入力操作を行う際は、前回とは異なる表示パターン10が表示される。また、パスコード情報を構成する一部のキーがマスクされており、パスコード情報を基に入力すべきキーが毎回異なるように構成している。このため、正規ユーザがパスコード情報の入力操作を行う際に、毎回異なる入力操作を強制的に行わせるようにすることができる。その結果、正規ユーザのキーの入力操作を第三者が複数回盗み見した場合でも、正しいパスコード情報を第三者が類推できないようにすることができる。
【0063】
なお、上述した処理動作例では、パスコード情報を秘匿(ハッシュ化)せずに記憶部130に記憶している。しかし、パスコード情報を秘匿(ハッシュ化)して記憶部130に記憶することも可能である。パスコード情報を秘匿(ハッシュ化)する方法としては、例えば、一方向関数であるハッシュ関数を用いる方法があげられる。但し、パスコード情報を秘匿(ハッシュ化)した場合は、例えば、
図5に示す以下の方法で照合することになる。
【0064】
なお、
図5に示す方法を行う場合は、パスコード情報をハッシュ化し、ハッシュ化したパスコード情報を記憶部130に記憶しておく。
【0065】
まず、パターン生成部122は、パスコード情報の一部のキーがマスクされた表示パターン10を生成する(ステップB1)。そして、表示入力部110に表示パターン10を表示する(ステップB2)。これにより、例えば、
図2に示す表示パターン10が表示入力部110に表示される。
【0066】
ユーザは、表示入力部110に表示された表示パターン10を参照し、ユーザ自身の記憶に基づき、パスコード情報として入力すべきキーの入力操作を行う。パスコード情報は、「143459」の6桁であるため、6桁のキーの入力操作を行う。
【0067】
表示入力部110から所定回数のキーの入力操作が行われ、所定文字数のキーが入力された場合に(ステップB3/Yes)、キーコード変換部123は、表示入力部110から入力された個々の入力キーについて、パスコード情報として可能性のある候補をハッシュ化する(ステップB4)。
【0068】
例えば、
図2に示す表示パターン10の場合で、「1」の入力に対し、認証OKとなるパスコード情報の候補として、「4の4近傍」、「Dの4近傍」、「5の4近傍」、「1自身」を生成する。そして、これらを各々ハッシュ化する(ステップB4)。これにより、キーコード変換部123は、ハッシュ化したパスコード情報の候補情報を生成することができる。
【0069】
次に、照合部124は、ハッシュ化したパスコード情報の候補情報と、記憶部130に記憶したハッシュ化したパスコード情報と、を照合する(ステップB5)。この照合は、一致判定だけなので、ハッシュ化されたままでも照合が可能となる。
【0070】
例えば、パスコード情報として記憶部130に記憶されているハッシュ化された「4の4近傍」と、ハッシュ化したパスコード情報の候補情報の1つであるハッシュ化された「4の4近傍」と、が一致していれば、1桁目の入力は認証OKということになる。これにより、パスコード情報をハッシュ化して記憶部130に記憶した場合でも、認証を行うことができる。
【0071】
(第2の実施形態)
次に、第2の実施形態について説明する。
【0072】
第1の実施形態では、表示パターン10を構成する各キーにおいて、当該キーの入力操作を受け付け可能な状態のキー(マスクされていないキーを意味する)と、当該キーの入力操作を受け付け不可能な状態のキー(マスクされているキーを意味する)と、を固定させてユーザ操作によるキーの入力操作を行うようにしている。例えば、
図2に示す表示パターン10を表示した後は、その表示パターン10を固定した状態で、ユーザ操作による6桁のキー入力を行うようにしている。そして、認証OKになった場合に、
図2に示す表示パターン10を
図3に示す表示パターン10などに変更するようにしている。
【0073】
第2の実施形態では、表示パターン10を構成する各キーにおいて、当該キーの入力操作を受け付け可能な状態のキーと、当該キーの入力操作を受け付け不可能な状態のキーと、を交互に遷移させてユーザ操作によるキーの入力操作を行うようにしている。例えば、表示パターン10を構成する複数のキーを、第1の領域と第2の領域とに割り当て、一方の領域のキーの表示状態が当該キーの入力操作を受け付け可能な表示状態であるときに、他方の領域のキーの表示状態が当該キーの入力操作を受け付け不可能な表示状態となるように遷移している。これにより、
図6(a)に示す表示パターン10を表示した後に、ユーザ操作によるキーの入力操作が行われた場合は、
図6(a)に示す表示パターン10を構成する各キーの表示状態を反転させ、
図6(b)に示す表示パターン10を表示することになる。
【0074】
表示パターン10を構成する各キーにおいて、当該キーの入力操作を受け付け可能な状態のキーと、当該キーの入力操作を受け付け不可能な状態のキーと、を交互に遷移させてユーザ操作によるキーの入力操作を行うようにすることで、1つのキーに対して連続して入力操作を行うことができないようにすることができる。その結果、パスコード情報を構成するキーが連続して同じキーで構成している場合であっても、そのキーに対して各々異なる入力操作を強制的に行わせるようにすることができる。例えば、
図6(a)に示す表示パターン10では、「1」のキーを入力することができるが、
図6(b)に示す表示パターン10では、「1」のキーを入力することができなくなっている。これにより、正規ユーザの簡易な連続キーの入力操作を規制することができ、正規ユーザのキーの入力操作を第三者が複数回盗み見した場合でも、正しいパスコード情報を第三者が更に類推できないようにすることができる。以下、
図6〜
図8を参照しながら、第2の実施形態について説明する。
【0075】
本実施形態では、マスクパターンを以下の条件1〜4で予め生成する。
【0076】
条件1(必須条件):マスクは、キーを1文字入力する度に反転する。このため、今回マスクされていたキーは次回はマスクされず、今回マスクされていないキーは次回はマスクされることになる。
条件2(推奨条件):パスコード情報を構成するキーを桁の大きい方から順番に表示入力部110から入力しようとする際に、任意の連続した2桁のキーのうち、少なくとも1桁分のキーが表示されるようにする。
条件3(推奨条件):パスコード情報を構成するキーの桁の大きい方から順番に表示入力部110から入力しようとする際に、そのパスコード情報のほぼ半分の桁数のキーだけ表示されるようにする。例えば、パスコード情報が6桁のキーで構成する場合は、3桁分のパスコード情報が表示されるようにする。
条件4(必須条件):あるキーがマスクされている場合は、そのマスクされたキーの4近傍のキー全てがマスクされないようにする。
【0077】
上記の1〜4の条件で生成されたマスクパターンは、記憶部130に記憶されたパスコード情報が「143459」であるとすると、パスコード情報の中で表示されるキーの部分は、次のような組合せとなる。
144、135、434、445、449
【0078】
本実施形態では、パスコード情報を構成する「4」が偶数番目の桁に2度あるため、どちらか一方だけ表示されるパターンを作ることができない。即ち、143、134、435のパターンを作ることができない。
【0079】
パスコード情報「143459」の中で、「14*4**」が表示されるマスクパターンは、例えば、
図6に示す表示パターン10を構成する。
図6に示す表示パターン10においてマスクされていないキーである「14*4**」は表示されており、マスクされているキーである「**3*59」は隠されている。
【0080】
ユーザは、表示入力部110に表示された
図6に示す表示パターン10を参照し、記憶部130に記憶したパスコード情報を以下の条件で表示入力部110から入力する。
【0081】
条件1:パスコード情報の該当入力桁のキーがマスクされていない場合は、当該キーを入力する。パスコード情報の該当入力桁のキーがマスクされている場合は、当該キーの4近傍のキーの中でマスクされていないキーを入力する。
【0082】
これにより、パスコード情報が「143459」で、
図6に示す表示パターン10とすると、「**3*59」は、キーが隠されているので、そのキーの4近傍のキーを入力することになる。
例えば、パスコード情報「**3*59」に対応する4近傍のキーとして、「**2*1C」を入力することで、「14241C」と入力することになる。
【0083】
図6に示す表示パターン10の場合では、マスクされていない8つのキーをランダムに打鍵して正しいパスコード情報と一致する確率は1/8*1/8*2/8*1/8*1/8*3/8*3/8=1/14563となる。
【0084】
また、第三者が正規ユーザのキーの入力操作を一度盗み見て正しいパスコード情報を類推する場合は、各キーの入力操作に対して平均して3つの類推候補のキーがある。1つは、入力されたキー自身である。残りは、入力されたキーの4近傍の中でマスクされたキーであり、4近傍の中で平均的に2つのキーがマスクされているため、そのマスクされた2つのキーとなる。このため、3つのキーが類推候補になる。即ち、入力操作を一度盗み見て正しいパスコード情報を類推できる確率は、1/3^6=1/729となる。
【0085】
正規ユーザが
図6に示す表示パターン10から「14241C」を入力した場合に、第三者がパスコード情報を類推できる確率を実際に計算すると、以下のようになる。
【0086】
「14241C」の個々のキーに対する可能性が、15D4、481G、236、481G、154D、C8G9であるので、1/3072となる。
【0087】
ユーザ認証が認証OKになった場合は、パターン生成部122は、上記条件1〜4で予め生成したマスクパターンの中からランダムにマスクパターンを選択し、その選択したマスクパターンでキーがマスクされた表示パターン10を生成する。そして、その生成した表示パターン10を表示入力部110に表示する。例えば、
図7に示す表示パターン10になったとする。
【0088】
この場合、先程の「14241C」を第三者が盗み見ていても、次の
図7に示す表示パターン10では、「*424**」が隠れているため、第三者が盗み見たパスコード情報をそのまま入力することはできない。この場合、先程のパスコード情報を盗み見て類推した15D4、481G、236、481G、154D、C8G9の候補を基に、正しいパスコード情報を類推して入力する必要がある。
【0089】
図7に示す表示パターン10の場合は、記憶部130に記憶されているパスコード情報が「143459」に対して、表示入力部110に表示されているのは、「1*3*5*」である。このため、例えば、「*4*4*9」に対応する4近傍のキーとして、「*8*G*D」を入力したとすると、入力は「183G5D」となる。
【0090】
この場合、「183G5D」の個々のキーに対する正しいキーの可能性が、
12D、845、327、GF4、58、D91となる。
【0091】
このため、第三者が「14241C」と「183G5D」との2回の入力操作を盗み見した場合も、各キーの可能性は、1D、48、23、G4、5、9となる。このため、1/2*1/2*1/2*1/2*1/1*1/1=1/8となり、正しいパスコード情報を一意に決定できないことになる。
【0092】
本実施形態では、表示パターン10を構成するキーの表示状態が交互に反転するため、同じ入力操作を連続して行うことができないようになっている。
【0093】
また、正しいパスコード情報を入力するキー入力操作について何通りかあるため、単純なリプレイアタックを防ぐことができる。そして、それらが入力桁数分だけ掛け合わさることにより多くの類推を必要とすることになる。
【0094】
なお、本実施形態の場合は、表示パターン10を構成するキーの表示位置を固定にし、マスクパターンだけを毎回異ならせるようにした場合でも、正規ユーザに毎回異なる入力操作を強制することができる。
【0095】
<入力情報認証装置100の処理動作例>
次に、
図8を参照しながら、本実施形態の入力情報認証装置100の処理動作例について説明する。
【0096】
まず、パターン生成部122は、記憶部130に記憶されているパスコード情報と、予め生成したマスクパターンと、を基に、パスコード情報の一部のキーがマスクされた表示パターン10を生成する(ステップC1)。例えば、記憶部130に「143459」のパスコード情報が記憶されている場合に、パターン生成部122は、
図6に示す表示パターン10を生成する。
図6(a)の表示パターン10は、「143459」のパスコード情報のうち、「4」、「3」、「5」のキーがマスクされている。また、
図6(b)の表示パターン10は、「143459」のパスコード情報のうち、「1」、「9」のキーがマスクされている。
【0097】
キーコード変換部123は、パターン生成部122が生成した表示パターン10と、記憶部130に記憶されているパスコード情報と、を基に、表示パターン10を構成するパスコード情報に対して認証OKとする認証情報を生成する(ステップC2)。この場合、
図6に示す表示パターン10を構成するパスコード情報に対して認証OKとする認証情報を生成する。
【0098】
パターン生成部122は、まず、
図6(a)に示す表示パターン10を表示入力部110に表示する(ステップC3)。これにより、
図6(a)に示す表示パターン10が表示入力部110に表示される。
【0099】
ユーザは、表示入力部110に表示された表示パターン10を参照し、ユーザ自身の記憶に基づき、パスコード情報として入力すべきキーの入力操作を行う。パスコード情報は、「143459」の6桁であるため、6桁のキーの入力操作を行う。
【0100】
認証部124は、表示入力部110からキーの入力操作が行われた場合は(ステップC4/Yes)、所定文字数のキーが入力されたか否かを判定する(ステップC5)。認証部124は、所定文字数のキーが入力されていない場合は(ステップC5/No)、表示パターン10を構成するキーの表示状態を反転する(ステップC6)。これにより、
図6(a)に示す表示パターン10から
図6(b)に示す表示パターン10が表示入力部110に表示されることになる。本実施形態では、6桁のキーを入力するため、表示パターン10を構成するキーが合計で5回反転することになる。その結果、
図6(a)〜
図6(f)に示す表示パターン10が表示入力部110に表示されることになる。
【0101】
認証部124は、所定文字数のキーが入力された場合は(ステップC5/Yes)、表示入力部110から入力された各桁の入力キーと、キーコード変換部123で生成した各桁の認証情報と、を照合する(ステップC7)。本実施形態では、パスコード情報は、6桁であるため、6回のキー入力操作が行われ、6文字のキーが入力された場合に(ステップC5/Yes)、照合を開始する(ステップC7)。
【0102】
認証部124は、各桁の入力キー全てがその桁に対応する認証情報に該当する場合は、認証OKと判定し、それ以外は、認証NGと判定する。例えば、
図6に示す表示パターン10の場合は、表示入力部110から入力された入力キーが「14241C」の場合は、各桁の入力キーが、パスコード情報「143459」の各桁の認証情報に該当するため、認証OKとなる。
【0103】
<本実施形態の入力情報認証装置100の作用・効果>
本実施形態の入力情報認証装置100は、表示パターン10を構成する各キーにおいて、当該キーの入力操作を受け付け可能な状態のキーと、当該キーの入力操作を受け付け不可能な状態のキーと、を交互に遷移させてユーザ操作によるキーの入力操作を行うようにしている。これにより、正規ユーザの簡易な連続キーの入力操作を規制することができる。その結果、正規ユーザのキーの入力操作を第三者が複数回盗み見した場合でも、正しいパスコード情報を第三者が更に類推できないようにすることができる。
【0104】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0105】
例えば、上述した実施形態では、表示パターン10を構成するキーが数字であることを例として説明したが、各キーを識別可能な情報であれば任意の情報であってもよく、例えばアルファベットなどの文字、画像、色などであってもよい。この場合、各キーのそれぞれに、そのキーを特定することが可能な番号等を割り当てることで、上述した実施形態と同様に実現することができる。
【0106】
また、上述した実施形態は、表示パターン10を表示する機能と、キーを入力する機能と、を兼用した表示入力部110を例に説明した。しかし、表示パターン10を表示する機能(表示部)と、キーを入力する機能(入力部)と、を別々に設けることも可能である。
【0107】
また、上述した本実施形態の入力情報認証装置100における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【0108】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータ内のメモリにインストールして実行させることが可能である。
【0109】
例えば、プログラムは、記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に一時的、あるいは、永続的に格納(記録)しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。リムーバブル記録媒体は、磁気ディスク、半導体メモリなどの各種記録媒体があげられる。
【0110】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトからコンピュータに無線転送することになる。また、ネットワークを介してコンピュータに有線で転送することになる。
【0111】
また、本実施形態における入力情報認証装置100は、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。