(58)【調査した分野】(Int.Cl.,DB名)
前記認証補助情報を構成する定義情報と、前記認証情報を構成する定義情報と、前記認証補助情報のストロークの操作順序数および前記認証情報のストロークの操作順序数の間の順序関係情報と、を一方向関数で暗号化する暗号化手段を備え、
前記認証補助情報照合手段は、前記入力手段に入力操作されたストロークを定義する定義情報の前記一方向関数による暗号化文字列と、前記認証補助情報を構成する定義情報についての前記暗号化手段により暗号化された暗号化文字列と、を照合し、
前記認証情報照合手段は、前記入力手段に入力操作されたストロークを定義する定義情報の前記一方向関数による暗号化文字列と、前記認証情報を構成する定義情報についての前記暗号化手段により暗号化された暗号化文字列と、を照合し、
前記順序関係照合手段は、前記認証補助情報のストロークが入力操作された操作順序数、および前記認証情報のストロークが入力操作された操作順序数の間の順序関係を前記一方向関数により暗号化した暗号化文字列と、前記暗号化手段により暗号化されて予め記憶された順序関係の暗号化文字列と、を照合することを特徴とする請求項3記載の入力情報認証装置。
前記認証補助情報および前記認証情報は、ストロークの始点および終点について、前記入力手段に含まれるキーのキートップ情報、該キーの配置位置、該キーに対する方向の何れかの定義パターンにより定義することでストロークを定義することを特徴とする請求項5記載の入力情報認証装置。
前記認証補助情報照合手段は、前記入力手段に入力操作されたストロークの始点および終点について、前記認証補助情報としてあり得る全ての定義パターンで前記一方向関数により暗号化した暗号化文字列と、前記認証補助情報を構成する定義情報についての前記暗号化手段により暗号化された暗号化文字列と、を照合し、
前記認証情報照合手段は、前記入力手段に入力操作されたストロークの始点および終点について、前記認証情報としてあり得る全ての定義パターンで前記一方向関数により暗号化した暗号化文字列と、前記認証情報を構成する定義情報についての前記暗号化手段により暗号化された暗号化文字列と、を照合することを特徴とする請求項6記載の入力情報認証装置。
複数のキーを有する入力手段の操作されたキーに対応する情報と予め記憶された認証情報とが一致するか否かの判断である認証を行う入力情報認証装置のプログラムであって、
前記認証を行うための前記入力手段への所定回数のキー操作における何回目の操作に対応する情報を前記認証情報として採用すべきかを示すために用いられる認証補助情報と、前記認証情報とが、前記入力手段へのキー操作に対応する情報である定義情報として予め前記入力情報認証装置に記憶され、
前記所定回数のキー操作のうち前記認証補助情報が入力される入力操作の順序を示す操作順序数と、前記認証情報が入力される入力操作の順序を示す操作順序数との間の順序関係が予め前記入力情報認証装置に記憶され、
コンピュータに、
前記入力手段へのキー操作に対応する情報と前記定義情報として記憶された前記認証補助情報との照合を行う認証補助情報照合手順と、
前記入力手段へのキー操作に対応する情報と前記定義情報として記憶された前記認証情報との照合を行う認証情報照合手順と、
前記入力手段へのキー操作により前記認証補助情報が入力された入力操作の操作順序数と前記入力手段へのキー操作により前記認証情報が入力された入力操作の操作順序数との間の順序関係が、予め記憶された順序関係と一致するか否かの照合を行う順序関係照合手順と、を実行させることを特徴とする入力情報認証装置のプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1など、盗み見を防止するための上述した従来の技術は、例えば金融自動機(ATM)など、第三者がある程度離れた距離の場所にいることを想定したものであり、至近距離から第三者に見られた場合への対策についてまで考慮されたものではなかった。すなわち、ユーザに対しダミー入力か認証情報かのどちらを入力して欲しいかを指示する情報が偽の入力テンキーなどに提示されているものであった。このため、例えば入力しているユーザの肩越しや隠しカメラなどにより、入力しているユーザの手の動きだけでなく、入力画面そのものまで見られている場合には、どの入力がダミーであるかが識別されてしまい、認証情報が知られてしまう虞があった。
【0007】
また、上述した特許文献2の技術は、入力しているユーザの手元や入力画面を見られた場合のセキュリティについてまで考慮されたものではなかった。
【0008】
本発明はこのような状況に鑑みてなされたものであり、認証情報の入力操作時に第三者から手元および入力画面を見られた場合であっても、認証情報を類推困難とすることができる入力情報認証装置、サーバ装置、入力情報認証システムおよび装置のプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
かかる目的を達成するために、本発明に係る入力情報認証装置は、
複数のキーを有する入力手段の操作されたキーに対応する情報と予め記憶された認証情報とが一致するか否かの判断である認証を行う入力情報認証装置であって、
認証を行うための入力手段への所定回数のキー操作における何回目の操作に対応する情報を認証情報として採用すべきかを示すために用いられる認証補助情報と、認証情報とが、入力手段へのキー操作に対応する情報である定義情報として予め記憶され、
所定回数のキー操作のうち認証補助情報が入力される入力操作の順序を示す操作順序数と、認証情報が入力される入力操作の順序を示す操作順序数との間の順序関係が予め記憶され、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証補助情報との照合と、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証情報との照合と、
入力手段へのキー操作により認証補助情報が入力された入力操作の操作順序数と入力手段へのキー操作により認証情報が入力された入力操作の操作順序数との間の順序関係が、予め記憶された順序関係と一致するか否かの照合と、により認証を行うことを特徴とする。
【0010】
また、本発明に係るサーバ装置は、
入力情報認証装置に、有線、無線、またはそれらの組み合わせにより接続されて用いられるサーバ装置であって、
入力情報認証装置は、複数のキーを有する入力手段と、サーバ装置との通信を行う通信手段と、を備え、
サーバ装置は、
入力手段の操作されたキーに対応する情報と予め記憶された認証情報とが一致するか否かの判断である認証を行い、
認証を行うための入力手段への所定回数のキー操作における何回目の操作に対応する情報を認証情報として採用すべきかを示すために用いられる認証補助情報と、認証情報とを、入力手段へのキー操作に対応する情報である定義情報として予め記憶し、
所定回数のキー操作のうち認証補助情報が入力される入力操作の順序を示す操作順序数と、認証情報が入力される入力操作の順序を示す操作順序数との間の順序関係を予め記憶し、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証補助情報との照合を行う認証補助情報照合手段と、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証情報との照合を行う認証情報照合手段と、
入力手段へのキー操作により認証補助情報が入力された入力操作の操作順序数と入力手段へのキー操作により認証情報が入力された入力操作の操作順序数との間の順序関係が、予め記憶された順序関係と一致するか否かの照合を行う順序関係照合手段と、を備えたことを特徴とする。
【0011】
また、本発明に係る入力情報認証システムは、
入力情報認証装置とサーバ装置とが、有線、無線、またはそれらの組み合わせにより接続されて構成される入力情報認証システムであって、
入力情報認証装置は、複数のキーを有する入力手段と、サーバ装置との通信を行う通信手段と、を備え、
サーバ装置は、
入力手段の操作されたキーに対応する情報と予め記憶された認証情報とが一致するか否かの判断である認証を行い、
認証を行うための入力手段への所定回数のキー操作における何回目の操作に対応する情報を認証情報として採用すべきかを示すために用いられる認証補助情報と、認証情報とを、入力手段へのキー操作に対応する情報である定義情報として予め記憶し、
所定回数のキー操作のうち認証補助情報が入力される入力操作の順序を示す操作順序数と、認証情報が入力される入力操作の順序を示す操作順序数との間の順序関係を予め記憶し、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証補助情報との照合を行う認証補助情報照合手段と、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証情報との照合を行う認証情報照合手段と、
入力手段へのキー操作により認証補助情報が入力された入力操作の操作順序数と入力手段へのキー操作により認証情報が入力された入力操作の操作順序数との間の順序関係が、予め記憶された順序関係と一致するか否かの照合を行う順序関係照合手段と、を備えたことを特徴とする。
【0012】
また、本発明に係る入力情報認証装置のプログラムは、
複数のキーを有する入力手段の操作されたキーに対応する情報と予め記憶された認証情報とが一致するか否かの判断である認証を行う入力情報認証装置のプログラムであって、
認証を行うための入力手段への所定回数のキー操作における何回目の操作に対応する情報を認証情報として採用すべきかを示すために用いられる認証補助情報と、認証情報とが、入力手段へのキー操作に対応する情報である定義情報として予め入力情報認証装置に記憶され、
所定回数のキー操作のうち認証補助情報が入力される入力操作の順序を示す操作順序数と、認証情報が入力される入力操作の順序を示す操作順序数との間の順序関係が予め入力情報認証装置に記憶され、
コンピュータに、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証補助情報との照合を行う認証補助情報照合手順と、
入力手段へのキー操作に対応する情報と定義情報として記憶された認証情報との照合を行う認証情報照合手順と、
入力手段へのキー操作により認証補助情報が入力された入力操作の操作順序数と入力手段へのキー操作により認証情報が入力された入力操作の操作順序数との間の順序関係が、予め記憶された順序関係と一致するか否かの照合を行う順序関係照合手順と、を実行させることを特徴とする。
【発明の効果】
【0013】
以上のように、本発明によれば、認証情報の入力操作時に第三者から手元および入力画面を見られた場合であっても、認証情報を類推困難とすることができる。
【発明を実施するための形態】
【0015】
次に、本発明に係る入力情報認証装置、サーバ装置、入力情報認証システムおよび装置のプログラムを適用した一実施形態について、図面を用いて詳細に説明する。まず、一実施形態として、タッチキーボードのキートップ情報として数字が用いられている場合の例について説明する。
【0016】
〔第1の実施形態〕
本発明の第1の実施形態について説明する。
第1の実施形態としての入力情報認証装置100は、
図1に示すように、タッチパネルディスプレイなどの表示入力部110と、表示入力制御部121と、表示パターン生成部122と、入力をストロークとして認識するストローク認識部123と、鍵情報照合部124と、認識情報照合部125と、順序関係照合部126と、登録された鍵情報や認証情報等を記憶する記憶部130と、を備えて構成される。
【0017】
表示入力部110は、複数のキーをタッチキーボードとして画面表示し、その表面画面への接触位置を検出し、その接触位置の位置情報に基づいて、表示された複数のキーの何れへの入力かを判別する。
【0018】
表示入力制御部121は、表示入力部110に表示する入力キーの表示制御や、表示入力部110への操作入力を入力信号として受ける制御を行う。
【0019】
表示パターン生成部122は、表示入力部110のタッチキーボードとして表示するキー配置のパターンを、所定タイミングで乱数を用いてランダムに生成する。表示パターン生成部122による表示パターンのランダム生成は、表示入力部110のタッチキーボードにより認証のための入力操作が行われ、認証OKとなった後、次に認証のための入力操作を開始するための入力画面を表示する度に行われる。
【0020】
ストローク認識部123は、表示入力部110のタッチキーボードへの接触位置の軌跡から、入力されたストロークの始点や終点といったストロークの構成情報を認識する。
【0021】
本実施形態の入力情報認証装置100は、こうした構成を備えることで、表示入力部110のタッチキーボードに対する接触位置の軌跡としてのストロークの入力を受け、そのストロークにより、鍵情報および認証情報の照合を行う。
【0022】
図2(a)に、表示入力部110のタッチキーボードにおける表示パターン例と、認証OKである場合のストローク入力例を示す。
本発明の各実施形態では、表示入力部110に表示される入力キーのキートップ情報として、数字入力用の1〜9の数字が割り当てられている場合の例について説明する。
【0023】
本実施形態では、予め鍵情報と、認証情報と、その鍵情報および認証情報の間の順序関係と、をユーザが予め登録しておくこととする。そして認証を行うための入力操作で認証OKとするためには、ユーザはその鍵情報および認証情報を含めた所定回数のストローク入力を行う。
【0024】
鍵情報は、認証情報との順序関係により、認証のための所定回数のキー入力操作における何回目の入力内容を認証情報との照合に採用するかを示すためのものである。
例えば
図2(a)の例では、鍵情報が入力された場合、その次の入力ストロークに対して認証情報の照合を行うこととした登録例を示す。鍵情報の次の入力操作をユーザによる認証情報の入力操作として扱う場合の順序関係を、
図2(a)では「n=+1」として示す。
【0025】
図2(a)での順序関係の示し方例では、例えば鍵情報の次の次の入力操作、すなわち鍵情報の操作順序数よりも2回後の操作順序数で認証情報の照合を行う場合、順序関係は「n=+2」となる。また、鍵情報の入力の前回の入力操作、すなわち鍵情報の操作順序数よりも1回前の操作順序数で認証情報の照合を行う場合、順序関係は「n=−1」となる。
【0026】
また、鍵情報が入力されない場合、1回目の入力ストロークで認証情報の照合を行うこととしてもよい。
【0027】
こうして鍵情報と認証情報との順序関係が予め登録されることで、鍵情報および認証情報の照合対象以外の入力ストロークはダミー入力として扱われる。
図2の例では、鍵情報および認証情報の入力操作にダミー入力を1回加えた3回のストローク入力を行う場合の例を示す。ダミー入力を加える回数は、予め定められた回数であれば任意であってよいが、加える回数が多いほどセキュリティ強度を向上させることができる。
【0028】
鍵情報および認証情報は、入力操作されたキーの移動の軌跡としてのストロークで登録される。
このストロークを構成する始点および終点は、
図3に示すように、キートップ情報、キーの場所、方向の何れかにより定義され、予め登録される。
【0029】
まず、
図3(a)に示すキートップ情報でストロークの始点や終点を定義する場合について説明する。
表示入力部110に表示されるタッチキーボードが、3行×3列の9キーに1〜9の何れかのキートップ情報が配置される構成例では、キートップ情報は1〜9の何れかの数字となる。このため、キートップ情報でストロークの始点や終点を定義する場合、始点や終点は1〜9の何れかの数字として定義される。
【0030】
なお、タッチキーボードとして表示されるキートップ情報の表示パターンは、表示パターン生成部122がランダム生成する度に変化する。このため、定義されたキートップ情報であるキーの場所は、表示パターンがランダム生成される度に、たいていの場合、変化する。
【0031】
図3(b)に示すキーの場所でストロークの始点や終点を定義する場合、タッチキーボードが3行×3列の9キーであれば、「1行目の1列」〜「3行目の3列」までの何れかの場所として始点や終点が定義される。
【0032】
次に、
図3(c)に示す方向でストロークの始点や終点を定義する場合について説明する。
図3(c)では、説明の便宜上、キートップ情報が
図2(a)の表示パターン例である場合について示す。
【0033】
方向によりストロークの始点や終点を定義する場合の定義パターンとして、
図3の例では、横方向、縦方向、スラッシュ方向、逆スラッシュ方向の4パターンを示す。
【0034】
図3(c−1)に、終点が横方向である場合のストローク例を示す。このように、終点が横方向として定義される場合、始点として定義されたキーから横方向、すなわち左または右に同じ行内で移動するストロークの全てが、登録されたストロークとして含まれる。
また、始点が横方向であれば、終点として定義されたキーに同じ行内で左または右から移動するストロークの全てが、登録されたストロークとして含まれる。
【0035】
図3(c−2)に、終点が縦方向である場合のストローク例を示す。このように、終点が縦方向として定義される場合、始点として定義されたキーから縦方向、すなわち上または下に同じ列内で移動するストロークの全てが、登録されたストロークとして含まれる。
また、始点が縦方向であれば、終点として定義されたキーに同じ列内で上または下から移動するストロークの全てが、登録されたストロークとして含まれる。
【0036】
図3(c−3)に、終点がスラッシュ方向である場合のストローク例を示す。このように、終点がスラッシュ方向として定義される場合、始点として定義されたキーから右斜め上または左斜め下に移動するストロークの全てが、登録されたストロークとして含まれる。
【0037】
例えば
図3(c−3)に示すように、始点が右斜め上の場所のキーである場合、そのキーから左斜め下方のキーへ移動するストロークを全て含むものとする。
図3(c−3)に示す表示パターン例で具体例を挙げると、始点のキートップ情報が「3」であれば、終点が「4」、「5」、「7」、「8」の何れかであるストロークを全て含む。また、始点のキートップ情報が「2」であれば、終点が「4」、「7」の何れかであるストロークを全て含む。
【0038】
また、始点が左斜め下の場所のキーである場合、そのキーから右斜め上方のキーへ移動するストロークを全て含むものとする。
図3(c−3)に示す表示パターン例で具体例を挙げると、始点のキートップ情報が「7」であれば、終点が「2」、「3」、「5」、「6」の何れかであるストロークを全て含む。また、始点のキートップ情報が「8」であれば、終点が「3」、「6」の何れかであるストロークを全て含む。
【0039】
図3(c−4)に、終点が逆スラッシュ方向である場合のストローク例を示す。このように、終点が逆スラッシュ方向として定義される場合、始点として定義されたキーから右斜め下または左斜め上に移動するストロークの全てが、登録されたストロークとして含まれる。
【0040】
例えば
図3(c−4)に示すように、始点が左斜め上の場所のキーである場合、そのキーから右斜め下方のキーへ移動するストロークを全て含むものとする。
図3(c−4)に示す表示パターン例で具体例を挙げると、始点のキートップ情報が「1」であれば、終点が「5」、「6」、「8」、「9」の何れかであるストロークを全て含む。また、始点のキートップ情報が「2」であれば、終点が「6」、「9」の何れかであるストロークを全て含む。
【0041】
また、始点が右斜め下の場所のキーである場合、そのキーから左斜め上方のキーへ移動するストロークを全て含むものとする。
図3(c−4)に示す表示パターン例で具体例を挙げると、始点のキートップ情報が「9」であれば、終点が「1」、「2」、「4」、「5」の何れかであるストロークを全て含む。また、始点のキートップ情報が「8」であれば、終点が「1」、「4」の何れかであるストロークを全て含む。
【0042】
鍵情報および認証情報のストロークを構成する始点および終点が以上のようにして定義される。ただし、ユーザによる記憶や入力における理解しやすさの点から、始点の定義には方向を用いないことが好ましい。すなわち、始点がキートップ情報とキーの場所の何れかにより定義され、終点が、キートップ情報、キーの場所、方向の何れかにより定義される構成とすることが好ましい。
【0043】
図2(a)に示す鍵情報の登録例では、始点が「キーの場所:左下」、終点が「キートップ情報:9」として定義される。このため、
図2(a)の表示パターン例では、「7」から「9」へのストロークが鍵情報となる。
【0044】
また、
図2(a)に示す認証情報の登録例では、始点が「キートップ情報:2」、終点が「方向:横方向」として定義される。このため、
図2(a)の表示パターン例では、「2」から「1」または「3」へのストロークが認証情報となる。
【0045】
また、
図2(a)の例では、鍵情報および認証情報の順序関係が「n=+1」で登録され、鍵情報が1回目に入力されているため、認証情報の照合は2回目の入力ストロークで行われることとなる。このため、3回目の入力ストロークはダミー入力として扱われることとなる。
【0046】
次に、本実施形態の入力情報認証装置100によるリプレーアタックへのセキュリティについて、
図2(a)〜(c)の具体例を参照して説明する。
【0047】
上述した
図2(a)の例に示すように、予め登録された鍵情報、認証情報、および順序関係に従って、ユーザが認証のための3回分のストローク入力をしている時に、そのユーザの肩越しなどの至近距離から、ストローク入力している手の動作および入力画面を第三者に見られてしまっていたとする。さらにその後、本実施形態の入力情報認証装置100をその第三者に入手されてしまったとする。
【0048】
こうして、その第三者が本実施形態の入力情報認証装置100に、先ほど盗み見たのと同じキーの場所、すなわちストローク入力の手の動きとして同じ動きによりストローク入力した場合の例を、
図2(b)に示す。
【0049】
ここで、表示パターン生成部122は、上述のように、表示入力部110のタッチキーボードにより認証のための入力操作が行われ、認証OKとなった後、次に認証のための入力操作を開始するための入力画面を表示する度に、表示パターンをランダムに生成する。このため、
図2(b)で第三者が認証情報の入力操作をしようとする時には、先ほどの
図2(a)の入力時とは異なる表示パターンで表示されている。
【0050】
このため、その第三者が、始点および終点を先ほど盗み見たのと同じキーの場所としてストローク入力しても、その始点および終点のキーに表示されているキートップ情報は、先ほどの
図2(a)の入力時とは異なるものとなっている。
【0051】
図2(b)の例では、鍵情報として登録されたストロークである始点「キーの場所:左下」、終点「キートップ情報:9」には、1〜3回目の何れの入力ストロークも一致しない。また、認証情報として登録されたストロークである始点「キートップ情報:2」、終点「方向:横方向」についても、1〜3回目の何れの入力ストロークも一致しない。
このため、鍵情報が入力されない場合として、1回目の入力ストロークで認証情報の照合が行われ、認証NGとなる。
【0052】
また、本実施形態の入力情報認証装置100を入手した第三者が、先ほど盗み見たのと同じキートップ情報によりストローク入力した場合の例を、
図2(c)に示す。
【0053】
この
図2(c)の場合についても、第三者が、始点および終点を先ほど盗み見たのと同じキートップ情報としてストローク入力しても、そのキートップ情報が表示されているキーの場所は、先ほどの
図2(a)の入力時とは異なるものとなっている。
【0054】
図2(c)の例では、上述した鍵情報として登録されたストロークにも、認証情報として登録されたストロークにも、1〜3回目の何れの入力ストロークも一致しない。
このため、鍵情報が入力されない場合として、1回目の入力ストロークで認証情報の照合が行われ、認証NGとなる。
【0055】
また、第三者がこうしたリプレーアタックを何度繰り返したとしても、表示パターン生成部122は、認証OKの入力が行われない限り、表示パターンのランダム生成を行わない。このため、認証NGである限り、同じ表示パターンのタッチキーボードが表示され続けるため、第三者が先ほど盗み見たのと同じ表示パターンが偶然表示されてしまう可能性もゼロである。
【0056】
以上のように、認証OKとなるストロークの入力操作を至近距離で盗み見た第三者が、入力情報認証装置100を入手し、同じキーの場所によるリプレーアタックや、同じキートップ情報によるリプレーアタックを試みたとしても、その盗み見た入力内容では認証OKとすることができない。こうして、認証のためのストローク入力をしている手の動作および入力画面を見られた場合であっても、認証OKとされてしまうことのない、高いセキュリティを実現することができる。
【0057】
また、認証のための所定回数のストローク入力が行われ、認証NGであった場合、次回のストローク入力時には、入力のためのウエイト時間が倍になる構成としてもよい。こうして、ストローク入力による認証がNGになる度にウエイト時間が倍になっていくことで、リプレーアタックの繰り返しに対するセキュリティをさらに向上させることができる。また、認証がNGになる度にウエイト時間を指数的に長くしていく構成としてもよい。
【0058】
次に、第1の実施形態としての入力情報認証装置100の動作例について、
図4のフローチャートを参照して説明する。以下に説明する本実施形態の動作では、鍵情報、認証情報、順序関係のそれぞれが、上述のように定義され、入力情報認証装置100に予め登録されていることとする。
【0059】
まず、表示パターン生成部122が、表示入力部110としてのタッチパネルディスプレイに表示するタッチキーボードにおける表示パターンを生成する(ステップS1)。
この表示パターンで表示されたタッチキーボードにより、ユーザによるストロークの入力を所定回数まで受ける(ステップS2,S3)。この所定回数は、上述のように、鍵情報および認証情報の2回に加え、ダミー入力の回数分として予め定められた回数である。ストローク認識部123は、表示パターン生成部122により生成された表示パターンの情報を参照し、入力された各ストロークにおける始点および終点について、キーの場所およびキートップ情報を抽出する。
【0060】
所定回数のストロークが入力されて始点および終点が抽出されると、鍵情報照合部124は、入力された各ストロークの始点および終点に基づいて、予め登録された鍵情報としてのストロークと照合する(ステップS4)。この照合では、入力された各ストロークにおける始点および終点についての、キーの場所およびキートップ情報に基づいて、その入力された各ストロークが、鍵情報として予め登録された始点および終点についての、キートップ情報、キーの場所、または方向による定義情報で定義されるストロークであるか否かを照合する。
【0061】
また、認証情報照合部125は、入力された各ストロークの始点および終点に基づいて、予め登録された認証情報としてのストロークと照合する(ステップS5)。この照合では、入力された各ストロークにおける始点および終点についての、キーの場所およびキートップ情報に基づいて、その入力された各ストロークが、認証情報として予め登録された始点および終点についての、キートップ情報、キーの場所、または方向による定義情報で定義されるストロークであるか否かを照合する。
【0062】
こうして鍵情報および認証情報について、一致するストロークがあるか否かの照合が行われ、一致するストロークがあれば、順序関係照合部126は、一致する各ストロークが入力操作された操作順序数の順序関係と、予め登録された順序関係とが一致するか否かを照合する。一致する場合、認証OKとし、他の場合を認証NGとする。
【0063】
また、鍵情報と一致する入力ストロークがない場合、順序関係照合部126は、認証情報と一致する入力ストロークの操作順序数が1回目であれば認証OKとし、他の場合を認証NGとする(ステップS6)。
【0064】
以上のように、上述した第1の実施形態では、認証を行う際のタッチキーボードの表示パターンが、認証OKとなる度にランダムに変化するため、例えば入力時に手元および入力画面を盗み見た第三者がキートップ情報やキーの場所を同じにしたストロークを再度入力したとしても、認証OKにはならない。
このように、同じ鍵情報および認証情報であっても、認証OKとするための入力ストロークが入力の度に変化することとなるため、実質的にワンタイムパスワードのように機能する。このため、入力している手の動きおよび表示画面を第三者から盗み見られた場合への対策としても、十分に高度なセキュリティを確保することができる。
【0065】
また、タッチキーボードの表示パターンは、認証OKとなった次回入力時にランダムに生成され、認証NGの場合には、次回のストローク入力時にも同じ表示パターンで表示される。このため、表示パターンが偶然に一致する確率をゼロにすることができ、さらに高度なセキュリティを実現することができる。
【0066】
また、本実施形態では、鍵情報および認証情報のそれぞれについての始点および終点が、上述のようにして予め定義されて登録される。そして、鍵情報が入力操作された操作順序数と、認証情報が入力操作された操作順序数との順序関係をさらに用いて認証を行う。
このため、本実施形態の入力情報認証装置100では、ユーザは鍵情報と認証情報、そしてそれらの順序関係を記憶するだけで、ダミー入力を含めたセキュリティの高い認証入力を行うことができる。
【0067】
また、特定の操作順序数での入力操作が鍵情報や認証情報に該当するといった特徴もない。このため、第三者から入力時に手元および入力画面を見られた場合であっても、その第三者が鍵情報や認証情報を類推することは極めて困難となる。
さらに、リトライを繰り返すといったリプレーアタックに対しても十分なセキュリティ強度を持つことも可能となっている。
【0068】
また、登録された順序関係である鍵情報と認証情報以外の入力が自動的にダミー入力とされるため、ダミー入力の回数を2回以上に増やした設定であっても、ユーザによる記憶の負荷は変化せず、上述した実施形態による入力情報認証装置100を同様の処理で実現することができる。無論、ダミー入力の回数をさらに増やす設定とすれば、セキュリティ強度をより向上させることができる。
【0069】
このように、本発明の実施形態では、何回目の入力であるかにより、ダミー入力とするか認証情報や鍵情報の入力とするかを判別しているわけではない。このため、どの入力がダミーであるかを、鍵情報や認証情報を知らない第三者には識別できないようにできる。
また、認証を行う際のタッチキーボードのキー配列が、認証OKとなる度にランダムに変化するため、キートップ情報やキーの場所によるリプレーアタックに対しても十分なセキュリティ強度を持たせることができる。
このため、仮に第三者から入力時の手元および表示画面を見られた場合であっても、認証OKとする入力方法を類推困難とすることができる。
【0070】
特に、本実施形態の入力情報認証装置100がタッチパネル式の携帯情報端末である場合、電車の中や人ごみの中などで認証情報を入力することも考えられ、こうした場合に入力している手元および表示画面を肩越しなどで至近距離から第三者に見られてしまう可能性がある。このように、認証のための一連のストローク入力をしている手元および表示画面を見られた場合であっても、その見られた情報からでは、鍵情報や認証情報による認証OKとなる入力方法を類推することが困難な、セキュリティに優れた入力情報認証装置とすることができる。
【0071】
また、特に初心者や高齢者などの場合、ストローク入力の際にも手の動きの速度が非常にゆっくりであることが考えられる。従って、第三者に見られている場合、手の動きや表示画面を容易に記憶されてしまう可能性がある。
上述した実施形態によれば、こうした場合であっても、上述のように十分に高度なセキュリティを確保することができる。
【0072】
なお、上述した第1の実施形態では、認証のための所定回数のストローク入力が全て終了してから、上述したステップS4として鍵情報との照合を行い、ステップS5として認証情報との照合を行うこととして説明したが、この構成に限定されず、ストロークが1回入力される度に照合を行う構成であってもよい。
この場合、ストロークが1回入力される度に、その入力ストロークと鍵情報との照合を行う。そして、鍵情報が何回目に入力操作されたかの操作順序数が確定すると、その鍵情報と認証情報の順序関係により、何回目の入力が認証情報であるかが確定するため、その操作順序数での入力ストロークと認証情報との照合を行う。また、鍵情報と一致する入力ストロークが所定回数のストローク入力中に含まれない場合、1回目の入力ストロークと認証情報との照合を行う。こうして、予め登録された鍵情報および認証情報に基づく認証を、上述した第1の実施形態と同様に実現することができる。
【0073】
〔第2の実施形態〕
次に、本発明の第2の実施形態について説明する。
第2の実施形態は、上述した第1の実施形態における表示パターンの生成や、鍵情報、認証情報の記憶、照合といった機能を、サーバ装置を用いて実現するようにしたものである。
上述した第1の実施形態と同様のものについては、説明を省略する。
【0074】
第2の実施形態としての入力情報認証システムは、
図5に示すように、入力情報認証装置100と、サーバ装置200とがネットワークを介して接続されて構成される。
【0075】
入力情報認証装置100は、表示入力部110と、表示入力制御部121と、通信部150とを備える。
【0076】
通信部150は、有線、無線、またはそれらの組み合わせにより、ネットワークを介してサーバ装置200の通信部250と接続され、サーバ装置200との間での通信を行う。
【0077】
表示入力制御部121は、通信部150によるサーバ装置200との送受信内容に基づいて、表示入力部110に表示する入力キーの表示制御や、表示入力部110への操作入力を入力信号として受ける制御を行う。
【0078】
サーバ装置200は、通信部250と、上述した第1の実施形態と同様の表示パターン生成部122と、ストローク認識部123と、鍵情報照合部124と、認識情報照合部125と、順序関係照合部126と、登録された鍵情報や認証情報等を記憶する記憶部130と、を備える。
【0079】
通信部250は、有線、無線、またはそれらの組み合わせにより、ネットワークを介して入力情報認証装置100の通信部150と接続され、入力情報認証装置100との間での通信を行う。この通信により、サーバ装置200は、入力情報認証装置100の表示入力部110に表示する入力キーの表示制御等を行う。
【0080】
次に、第2の実施形態としての入力情報認証システムの動作例について、
図6のフローチャートを参照して説明する。以下に説明する本実施形態の動作では、入力情報認証装置100での認証に用いる鍵情報、認証情報、順序関係のそれぞれが、上述のように定義され、サーバ装置200の記憶部130に予め登録されていることとする。
【0081】
まず、サーバ装置200の表示パターン生成部122が、上述した第1の実施形態と同様に表示入力部110のタッチキーボードにおける表示パターンを生成する(ステップS11)。通信部250は、生成された表示パターンのデータを入力情報認証装置100に送信する(ステップS12)。
【0082】
入力情報認証装置100の表示入力制御部121は、通信部150によりサーバ装置200から受信した表示パターンでタッチキーボードを表示する(ステップS13)。そしてこの表示パターンのタッチキーボードにより、ユーザによるストロークの入力を上述した第1の実施形態と同様に所定回数まで受ける(ステップS14,S15)。
【0083】
こうして所定回数のキー入力操作が行われると、表示入力制御部121は、各回に入力操作されたストローク情報を、何回目に入力操作されたかの操作順序数に関連付け、通信部150は、そうして関連付けられた操作順序数および入力ストロークのデータをサーバ装置200に送信する(ステップS16)。
【0084】
サーバ装置200のストローク認識部123は、通信部250により入力情報認証装置100から操作順序数および入力ストロークが受信されると、ステップS11で生成された表示パターンのデータを参照し、上述した第1の実施形態と同様に、各回に入力されたストロークにおける始点および終点について、キーの場所およびキートップ情報を抽出する(ステップS17)。
【0085】
鍵情報照合部124は、各回に入力されたストロークについての抽出された始点および終点情報に基づいて、予め登録された鍵情報としてのストロークと照合する(ステップS17)。この照合では、入力された各ストロークにおける始点および終点についての、キーの場所およびキートップ情報に基づいて、その入力された各ストロークが、鍵情報として予め登録された始点および終点についての、キートップ情報、キーの場所、または方向による定義情報で定義されるストロークであるか否かを照合する。
【0086】
また、認証情報照合部125は、各回に入力されたストロークについての抽出された始点および終点情報に基づいて、予め登録された認証情報としてのストロークと照合する(ステップS18)。この照合では、入力された各ストロークにおける始点および終点についての、キーの場所およびキートップ情報に基づいて、その入力された各ストロークが、認証情報として予め登録された始点および終点についての、キートップ情報、キーの場所、または方向による定義情報で定義されるストロークであるか否かを照合する。
【0087】
こうして鍵情報および認証情報について、一致するストロークがあるか否かの照合が行われ、一致するストロークがあれば、順序関係照合部126は、一致する各ストロークが入力操作された操作順序数の順序関係と、予め登録された順序関係とが一致するか否かを照合する。一致する場合、認証OKとし、他の場合を認証NGとする。
【0088】
また、鍵情報と一致する入力ストロークがない場合、順序関係照合部126は、認証情報と一致する入力ストロークの操作順序数が1回目であれば認証OKとし、他の場合を認証NGとする(ステップS19)。
【0089】
以上のように、上述した第2の実施形態によれば、上述した第1の実施形態と同様の効果が得られると共に、端末である入力情報認証装置100よりも強固なセキュリティで防御しているサーバ装置200に、登録情報としての鍵情報、認証情報、および順序関係の情報を保存することができるため、セキュリティをさらに向上させることができる。
【0090】
また、タッチキーボードに表示する表示パターンをサーバ装置200で生成し、その表示パターンに対する各回の入力ストローク情報をサーバ装置200が入力情報認証装置100から受信して処理を行うことにより、チャレンジ・アンド・レスポンスのような認証効果が得られ、端末自体のなりすまし(端末上のプログラムのなりすましを含む)に対する防御の効果が得られる。
【0091】
〔第3の実施形態〕
次に、本発明の第3の実施形態について説明する。
第3の実施形態は、登録情報としての鍵情報、認証情報、および順序関係の情報を、ハッシュ関数などの一方向関数で暗号化してから記憶し、その状態でユーザによる入力ストロークの照合ができるようにするものである。
上述した第1の実施形態と同様のものについては、説明を省略する。
【0092】
第3の実施形態としての入力情報認証装置100は、
図7に示すように、上述した第1の実施形態と同様の表示入力部110と、表示入力制御部121と、表示パターン生成部122と、ストローク認識部123と、記憶部130と、に加え、暗号化登録部160と、暗号化鍵情報照合部161と、暗号化認証情報照合部162と、暗号化順序関係照合部163と、を備える。
【0093】
暗号化登録部160は、ハッシュ関数などの一方向関数で、登録情報としての鍵情報、認証情報、および順序関係の情報を暗号化し、記憶部130に格納する。
【0094】
暗号化鍵情報照合部161は、入力されたストロークと、暗号化された鍵情報との照合を行う。
暗号化認証情報照合部162は、入力されたストロークと、暗号化された認証情報との照合を行う。
暗号化順序関係照合部163は、鍵情報および認証情報の順序関係と、暗号化された順序関係情報との照合を行う。
【0095】
次に、本実施形態としての入力情報認証装置100の動作例について、
図8のフローチャートを参照して説明する。
以下の動作例では、ハッシュ関数としてmd5を用いる場合について示し、数値xをハッシュ化したハッシュコードをmd5(x)として示す。
【0096】
また、以下に説明する本実施形態の動作では、上述した鍵情報、認証情報、および順序関係が入力情報認証装置100に予め登録されていることとする。また、鍵情報および認証情報は、始点がキートップ情報とキーの場所の何れかにより定義され、終点が、キートップ情報、キーの場所、方向の何れかにより定義されることとする。
暗号化登録部160は、こうして登録された登録情報としての鍵情報、認証情報、および順序関係の情報をハッシュ化し、記憶部130に格納する。
【0097】
本実施形態の入力情報認証装置100による表示パターンの生成や、タッチキーボードによりストローク入力を受ける動作については、上述した第1の実施形態と同様である。すなわち、
図4のフローチャートにおけるステップS1〜S3の動作については、本実施形態についても
図8のステップS21〜S23として同様に行う。
【0098】
こうして認証のための所定回数のストローク入力が行われると、暗号化鍵情報照合部161は、入力された各回のストロークそれぞれについて、あり得る全パターンでハッシュ化し、暗号化されて記憶部130に格納された鍵情報と照合する(ステップS24)。
【0099】
ここで、ステップS24での暗号化鍵情報照合部161による、入力されたストロークと暗号化された鍵情報との照合方法について説明する。
【0100】
暗号化鍵情報照合部161は、まず、入力されたストロークの始点について、キートップ情報とキーの場所の2パターンをあり得るパターンとしてハッシュ化の対象とする。また、終点について、キートップ情報、キーの場所、方向の3パターンをあり得るパターンとしてハッシュ化の対象とする。
このため、1回の入力ストロークについて、始点が2通り、終点が3通り存在しうることとなり、2×3=6つのハッシュ化された値が算出される。
【0101】
図2(a)の1回目の入力ストロークについて具体例を挙げると、始点については「キートップ情報:7」、「キーの場所:左下」の2パターンがあり得る。また、終点については「キートップ情報:9」、「キーの場所:右下」、「方向:横方向」の3パターンがあり得る。
【0102】
このため、
図2(a)の1回目の入力ストロークでの始点および終点について、あり得る全パターンのハッシュ化での算出値は、以下の6つとなる。
md5(7,9)
md5(7,右下)
md5(7,横方向)
md5(左下,9)
md5(左下,右下)
md5(左下,横方向)
【0103】
暗号化鍵情報照合部161は、こうして算出されたあり得る全パターンでのハッシュ値と、予め登録され、暗号化されて記憶部130に格納された鍵情報とを照合する。
【0104】
図2(a)の具体例では、暗号化されて記憶部130に格納された鍵情報はmd5(左下,9)である。このため、上述のように算出された6つのハッシュ値と、暗号化されて記憶部130に格納された鍵情報とを照合すると、6つのハッシュ値の中に一致する値が含まれることとなる。このため、暗号化鍵情報照合部161は、
図2(a)の1回目の入力ストロークが鍵情報であると判定する。
【0105】
上述したステップS24での照合では、暗号化鍵情報照合部161は、入力された各回全てのストロークについて、上述のようにあり得る全パターンのハッシュ値を算出し、暗号化されて記憶部130に格納された鍵情報と照合する。照合により一致するハッシュ値が存在する場合、一致するハッシュ値の算出元である操作順序数のストロークが、鍵情報と判定される。
【0106】
図2(a)の場合のように、認証のための入力操作回数が3回であれば、暗号化鍵情報照合部161は、6×3=18パターンのハッシュ値を算出し、それぞれについて、暗号化されて記憶部130に格納された鍵情報と照合する。そして、
図2(a)の1回目の入力ストロークについてのあり得るパターンとして算出された6つのハッシュ値の中に、暗号化されて記憶部130に格納された鍵情報と一致する値が存在するため、暗号化鍵情報照合部161は、
図2(a)の1回目の入力ストロークが鍵情報であると判定する。
【0107】
次に、暗号化認証情報照合部162は、上述のように算出された、入力された各回のストロークそれぞれについてのあり得る全パターンでのハッシュ値と、暗号化されて記憶部130に格納された認証情報と照合する(ステップS25)。照合方法は、算出された全パターンでのハッシュ値と、暗号化されて記憶部130に格納された認証情報との間で、上述した暗号化鍵情報照合部161による照合の場合と同様に行う。
【0108】
こうして鍵情報、認証情報のそれぞれについて、照合で一致するストロークが存在し、何回目に入力操作されたかの操作順序数が確定すると、暗号化順序関係照合部163は、鍵情報および認証情報についての操作順序数の間の順序関係をハッシュ化し、暗号化されて記憶部130に格納された順序関係と照合する(ステップS26)。
【0109】
図2(a)の具体例では、鍵情報の入力操作が1回目、認証情報の入力操作が2回目であるため、鍵情報および認証情報についての操作順序数の間の順序関係は「n=+1」である。このため、順序関係についてのハッシュ値はmd5(+1)となる。また、暗号化されて記憶部130に格納された順序関係もmd5(+1)であるため、認証OKとなる。
【0110】
また、鍵情報と一致する入力ストロークがない場合、暗号化順序関係照合部163は、ステップS25での暗号化認証情報照合部162による照合結果を参照し、1回目の入力ストロークが認証情報であると判定されていれば認証OKとし、他の場合を認証NGとする。
【0111】
以上のように、上述した第3の実施形態によれば、上述した第1の実施形態と同様の効果が得られると共に、登録情報としての鍵情報、認証情報、および順序関係の情報をハッシュ関数などの一方向関数で暗号化してから記憶しているため、入力情報認証装置100が第三者に入手された場合であっても、メモリ内の記憶情報の解析に対して防御することができる。それでいて、上述した第1の実施形態と同様のダミー入力を含むストローク入力であっても、鍵情報および認証情報との照合を確実に行うことができる。このため、より高度なセキュリティを実現することができる。
【0112】
また、上述した第3の実施形態の照合方法では、暗号化された状態で照合のための計算を行うといった高度な計算技法を用いるよりも、格段に少ない計算量で照合することができる。このため、特にモバイル端末など、処理能力が比較的低いコンピュータであっても、容易に実現することができる。
【0113】
〔各実施形態について〕
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
【0114】
例えば、上述した各実施形態では、タッチキーボードが3行×3列の9キーであることとして説明したが、タッチキーボードを構成するキーの数はこの数に限定されず、装置の性能等に応じて任意に定められるものであってよい。タッチキーボードを構成するキーの数を増やせば、入力ストロークとしてあり得るパターン数も増えることとなり、さらにセキュリティ強度を向上させることができる。
【0115】
また、上述した各実施形態では、キートップ情報が数字であることとして説明したが、各キーを識別可能な情報であれば任意の情報であってよく、例えばアルファベットなどの文字、画像、色などであってもよい。この場合、そうしたキートップ情報のそれぞれに、そのキートップ情報を特定可能な番号等を割り当てることにより、上述した実施形態と同様に実現することができる。
【0116】
また、上述した各実施形態について、表示入力部110に表示されるタッチキーボードは、キートップ情報のない同じ形状のボタンが所定数配置されたものであってもよい。この場合、鍵情報および認証情報を登録する際の始点や終点の定義パターンとして、キートップ情報以外を用いることとなる。すなわち、始点がキーの場所により定義され、終点が、キーの場所、方向の何れかにより定義されることとなる。
【0117】
また、上述した各実施形態では、ユーザによる記憶や入力操作における理解しやすさの点から、始点の定義に方向を用いない構成として説明したが、始点の定義パターンとして、キートップ情報、キーの場所に加え、方向も使用可能とした構成であっても、本発明は同様に実現することができる。
この場合、例えば始点が「方向:横方向」、終点が「キートップ情報:8」で定義されているとすると、横方向から「8」のキーに移動するストロークが全て含まれることとなる。また、始点および終点の両方が方向で定義される場合、ストローク認識部123が始点、終点に加え、通過点を抽出することで、始点と終点に異なる方向を定義することも可能となる。すなわち、「く」の字型ストロークとして定義する場合でも、本発明は同様に実現することができる。
【0118】
また、上述した各実施形態では、鍵情報および認証情報の定義情報が移動の軌跡としてのストロークであることとして説明したが、このものに限定されず、1つのキートップ情報やキーの場所であっても本発明は同様に実現することができる。この場合、認証のための入力操作も1つずつのキーに対するキー操作となり、鍵情報、認証情報のそれぞれについて入力キーと登録された情報との照合を行い、鍵情報の入力操作がなされた操作順序数と、認証情報の入力操作がなされた操作順序数との間の順序関係が予め記憶された順序関係と一致するか否かの照合を行うことで、上述した各実施形態と同様に実現することができる。
【0119】
また、上述した第2の実施形態について、鍵情報や認証情報の定義情報を上述した第3の実施形態と同様にハッシュ化してサーバ装置200に記憶する構成としてもよい。この場合、認証のための所定回数の入力操作による入力ストロークそれぞれを、入力情報認証装置100またはサーバ装置200により上述した第3の実施形態と同様に暗号化して、記憶されたハッシュ値と照合することにより、同様に実現することができる。
【0120】
また、上述した各実施形態は、入力部と表示部とが一体である構成に限定されず、入力部と表示部が別体、あるいは別装置であっても、本発明は同様に実現することができる。
入力部と表示部が別体である場合、表示部にキーボードを表示し、移動の軌跡を入力可能な入力部(例えばタブレット装置など)でストロークを入力するようにし、表示部により入力座標の軌跡を確認できるように構成することで、上述した実施形態と同様に処理を行うことができる。こうした構成によっても、上述した各実施形態を同様に実現でき、同様の効果を得ることができる。
【0121】
また、上述した各実施形態の入力情報認証装置100は、携帯情報端末に限定されず、デスクトップPCなどの据え置き型装置についても同様に適用することができる。
【0122】
また、上述した各実施形態の各機能部は、上述した機能を実現可能であれば実現する構成は任意であってよく、例えば記録媒体に記録されたプログラムの処理手順を1つのCPUが実行することで実現されてもよく、複数の機能モジュールにより実現されてもよい。
【0123】
また、上述した各実施形態としての入力情報認証装置100やサーバ装置200を実現するための処理手順をプログラムとして記録媒体に記録することにより、本発明の各実施形態による上述した各機能を、その記録媒体から供給されるプログラムによって、システムを構成するコンピュータのCPUに処理を行わせて実現させることができる。
この場合、上記の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
すなわち、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体および該記録媒体から読み出された信号は本発明を構成することになる。
この記録媒体としては、例えばハードディスク、光ディスク、光磁気ディスク、フロッピー(登録商標)ディスク、磁気テープ、不揮発性のメモリーカード、ROM等を用いてよい。
【0124】
この本発明に係るプログラムによれば、当該プログラムによって制御されるコンピュータに、上述した各実施形態における各機能を実現させることができる。