以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、ユーザの認証を行う認証装置に対して本発明を適用した場合の実施形態である。
[1.第1実施形態]
認証装置は、認証装置又は認証装置とは別個の装置に対するユーザの操作に基づいて、そのユーザの認証を行うコンピュータである。認証装置は、例えばサーバ装置であってもよいし、端末装置であってもよい。認証装置がサーバ装置である場合、認証装置は、例えば認証装置とネットワークを介して接続可能な端末装置を利用するユーザの認証を行う。認証装置が端末装置である場合、認証装置は、例えば認証装置を利用するユーザの認証を行う。先ずは認証装置がサーバ装置に適用された場合について説明し、最後に認証装置が端末装置に適用された場合について説明する。
[1−1.情報処理システムの概要]
先ず、本実施形態に係る情報処理システムSAの概要について、図1Aを用いて説明する。図1Aは、認証装置1をサーバ装置に適用した場合の情報処理システムSAの概要構成の一例を示す図である。
図1Aに示すように、情報処理システムSAは、サーバ装置としての認証装置1と複数のユーザ端末2とを含んで構成されている。そして、認証装置1と各ユーザ端末2とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
認証装置1は、例えば、情報処理システムSAを利用するユーザへ所定のサービスを提供するための処理を行うサーバ装置であってもよい。或いは、認証装置1は、例えば情報処理システムSAで提供されるサービスをユーザが受けるためのユーザ認証を行う認証サーバであってもよい。認証装置1は、ユーザ情報DB3にアクセス可能に構成されている。例えば、認証装置1自身がユーザ情報DB3を記憶してもよい。或いは、ユーザ情報DB3が認証装置1とは別個の装置、例えばネットワークストレージやサーバ装置等に記憶されてもよい。そして、認証装置1とユーザ情報DB3を記憶する装置がネットワークを介して接続されてもよい。ユーザ情報DB3は、情報処理システムSAに会員登録されたユーザに関するユーザ情報が登録されるデータベースである。ユーザ情報はユーザIDを少なくとも含む。ユーザIDは、ユーザの識別情報である。
ユーザ端末2は、情報処理システムSAを利用しようとするユーザが用いる端末装置である。本実施形態においてユーザは、特定の種類の端末装置を用いてのみ情報処理システムSAを利用可能である。端末装置の種類の例として、スマートフォン、タブレット型コンピュータ、携帯電話機、パーソナルコンピュータ、PDA(Personal Digital Assistant)、STB(Set Top Box)等がある。また、機種、商品シリーズ等で端末装置の種類が分けられてもよい。ユーザ端末2には、例えばブラウザ、電子メールクライアント等のソフトウェアがインストールされている。
ユーザ端末2は、例えばCPU、ROM、RAM、フラッシュメモリ、ハードディスクドライブ等を備える。更にユーザ端末2は、表示部及び操作部を備える。表示部は、画像、文字等の情報を表示する。表示部14の例として、液晶ディスプレイ、CRTディスプレイ等が挙げられる。操作部は、ユーザによる操作を受け付け、操作内容に対応する信号をCPUに出力する。操作部の例として、キー、ボタン、スイッチ、キーボード、マウス、タッチパネル、リモコン等が挙げられる。
ユーザ端末2は、操作部により、又は操作部と表示部との組み合わせにより、ユーザに対して入力部群を提供する。入力部群は複数の入力部により構成される。入力部は、ユーザによって操作可能な構成要素であり、ユーザからの指示、制御又情報等をCPUに入力するための最小限の構成要素である。入力部は、例えば現実のオブジェクトであってもよいし、表示部に表示される仮想的なオブジェクトであってもよい。入力部の例として、キー、ボタン、スイッチ、レバー、スライドバー等が挙げられる。しかしながら、入力部はこれらに限定されるものではない。入力部群の例として、現実のキーボードやソフトウェアキーボード等が挙げられる。しかしながら、入力部群はこれらに限定されるものではない。また、例えば操作部が入力部群そのものであってもよい。例えば、操作部及び入力部群がキーボードであってもよい。また、例えば操作部と表示部により入力部群が提供されてもよい。例えば、操作部及び表示部によりタッチパネルが構成され、入力部群がタッチパネルに表示されてもよい。入力部に対する操作とは、例えば入力部にユーザの指示物を接触させることを含む、ユーザの動作であってもよい。指示物の例として、手、指、スタイラスペン、マウスカーソル等が挙げられる。入力部に対する操作内容の例として、押すこと、タップ、フリック、スワイプ、スライド、クリック、ダブルクリック、ドラッグ等が挙げられる。しかしながら、入力部に対する操作内容はこれらに限られるものではない。
ユーザ端末2は、入力部群を通じて文字の入力環境をユーザに提供する。文字の入力環境は、例えば文字を入力するためのユーザインターフェースである。文字の入力環境は、例えば、入力部群の構成及びレイアウト、入力部群の操作方法等を含んでもよい。本実施形態においては、情報処理システムSAを利用する複数のユーザ端末2の間で入力環境は同一であり、また単一の入力環境のみが利用されるものとする。
認証装置1は、ユーザ端末2により提供される入力部群に対するユーザの操作内容に基づいて、そのユーザの認証を行う。具体的に、認証装置1は、入力部群の中でユーザにより操作された2以上の入力部の操作順序と、その2以上の入力部の操作に費やされた操作コストに基づいて、認証を行う。操作コストは、例えば、入力部を操作するために費やされたユーザの労力及び時間の少なくとも何れか一方を示してもよい。
[1−2.ユーザ情報DBの構成]
次に、ユーザ情報DB3の構成について、図2を用いて説明する。図2は、ユーザ情報DB3に登録される内容及び基準操作順序情報に登録される内容の例を示す図である。ユーザ情報DB3には、ユーザごとのユーザ情報が登録される。例えば、情報処理システムSAへユーザが会員登録するときに、ユーザ情報が登録されてもよい。
ユーザ情報として、ユーザ情報DB3には、ユーザID、基準操作順序情報及び基準操作コストが対応付けて登録される。基準操作順序情報は、基準操作順序を示す情報である。基準操作順序は、ユーザ認証の際においてユーザが操作すべき2以上の入力部の操作順序である。すなわち、基準操作順序情報は、操作順序の正解を示す。基準操作順序は、本発明における基準順序の一例である。基準操作順序情報には、操作される入力部ごとに、位置番号及び入力部IDが対応付けて登録される。位置番号は、操作順序を示す番号群の中の1つの番号である。すなわち、位置番号は、操作順序で並べられた2以上の入力部において、或る入力部の位置を示す番号である。操作されるべき入力部の数は、例えばユーザごとに個別に決定されてもよい。入力部IDは、入力部の識別情報である。入力部IDは、例えば各入力部に割り当てられたシーケンス番号であってもよい。基準操作コストは、ユーザ認証の際の入力部群の操作でユーザが費やすべき操作コストである。基準操作コストは、本発明における基準コストの一例である。例えば、ユーザが基準操作順序情報及び基準操作コストを決定してもよい。或いは、例えば認証装置1がユーザごとに基準操作順序情報及び基準操作コストを決定してもよい。そして、認証装置1は、決定した基準操作順序情報及び基準操作コストを、例えば電子メールやウェブページ等によりユーザに通知してもよい。
[1−3.認証装置の構成]
次に、認証装置1の構成について、図3Aを用いて説明する。図3Aは、本実施形態に係る認証装置1の概要構成の一例を示すブロック図である。図3Aに示すように、認証装置1は、通信部11と、記憶部12と、操作部13と、表示部14と、入出力インターフェース15と、システム制御部16と、を備えている。そして、システム制御部16と入出力インターフェース15とは、システムバス17を介して接続されている。
通信部11は、ネットワークNWに接続して、ユーザ端末2等との通信状態を制御する。記憶部12は、データやプログラムを記憶する。記憶部12の例として、ハードディスクドライブ、フラッシュメモリ等が挙げられる。記憶部12には、例えばユーザ情報DB3が記憶されていてもよい。記憶部12は、本発明における記憶手段及び文字列記憶手段のそれぞれの一例である。
記憶部12には、入力部決定テーブル、及び入力コストテーブル等が記憶されている。入力部決定テーブルは、ユーザにより入力された文字から、その文字を入力するためにユーザが操作した入力部を決定するためのテーブルである。具体的に、入力部決定テーブルは、文字を入力可能な入力部ごとに、入力部IDと、入力可能な1又は複数の文字とを対応付けて格納するテーブルである。
入力コストテーブルは、ユーザ認証の際に入力可能な文字を入力するための操作コストの決定規則を示す情報である。具体的に、入力コストテーブルは、文字ごとの入力コストを格納するテーブルである。入力コストは、文字を入力するための操作コストである。入力コストテーブルには、例えば入力可能な文字又は文字種に少なくとも対応付けて、入力コストが格納されている。文字種は、文字の区分の一例である。入力コストテーブルの構成例については後述する。記憶部12には、ユーザ端末2の入力環境に対応した入力部決定テーブル及び入力コストテーブルが記憶されている。
また、記憶部12には、更にオペレーティングシステム、認証処理プログラム等のプログラムが記憶されている。認証処理プログラムは、ユーザの認証に関する処理を行うためのプログラムである。認証処理プログラムは、本発明における情報処理プログラムの一例である。認証処理プログラムは、例えばプログラム製品であってもよい。なお、各種のプログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしてもよいし、光ディスク、磁気テープ、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
操作部13は、操作者による操作を受け付け、操作内容に対応する信号をシステム制御部16に出力する。操作部13の例として、キー、ボタン、スイッチ、キーボード、マウス、タッチパネル、リモコン等が挙げられる。なお、認証装置1は操作部13を備えていなくてもよい。例えば認証装置1は、操作部13と有線又は無線により接続されていてもよい。
表示部14は、システム制御部16の制御により、画像、文字等の情報を表示する。表示部14の例として、液晶ディスプレイ、CRTディスプレイ、LED等が挙げられる。なお、認証装置1は表示部14を備えていなくてもよい。例えば認証装置1は、表示部14と有線又は無線により接続されていてもよい。
入出力インターフェース15は、通信部11及び記憶部12とシステム制御部16との間のインターフェース処理を行う。
システム制御部16は、CPU(Central Processing Unit)16a、ROM(Read Only Memory)16b、RAM(Random Access Memory)16c等により構成されている。CPU16aは、プロセッサの一例である。なお、本発明は、CPUと異なる様々なプロセッサに対しても適用可能である。記憶部12、ROM16b及びRAM16cは、それぞれメモリの一例である。なお、本発明は、ハードディスク、ROM及びRAMと異なる様々なメモリに対しても適用可能である。
[1−4.システム制御部の機能概要]
次に、図3B乃至図9Cを用いて、システム制御部16の機能概要について説明する。図3Bは、本実施形態に係る認証装置1のシステム制御部16の機能ブロックの一例を示す図である。システム制御部16は、CPU16aが、認証処理プログラム等のプログラムを読み出し実行することにより、図3Bに示すように、操作順序取得部161、操作コスト取得部162、認証部163等として機能する。操作順序取得部161は、本発明における順序取得手段、区分決定手段及び表示制御手段のそれぞれの一例である。操作コスト取得部162は、本発明におけるコスト取得手段、特定手段、コスト決定手段及び提示制御手段のそれぞれの一例である。認証部163は、本発明における認証手段及び記憶制御手段のそれぞれの一例である。
操作順序取得部161は、ユーザ端末2の表示部に認証画面を表示させる。認証画面は、認証のための操作をユーザが行う際に表示される画面である。図4は、認証画面100の一例を示す図である。図4に示すように、認証画面100は、入力文字表示領域101及び認証ボタン102を含む。入力文字表示領域101には、入力部群に対する操作によって認証用に入力された文字の代わりとして所定の文字が表示される領域である。所定の文字は、例えばアスタリスクであってもよいし、別の文字であってもよい。入力文字表示領域101に表示される所定の文字によって、現時点までに入力された文字の文字数が示される。すなわち、現時点までに操作された入力部の数が示される。認証ボタン102は、ユーザが入力部群を操作した後に認証装置1に認証を要求するためのボタンである。なお、認証画面100には、更にユーザID入力領域を含んでもよい。ユーザID入力領域は、ユーザIDが入力される領域である。例えば、認証を要求するユーザのユーザIDを認証装置1が特定することができない場合に、認証画面100にユーザID入力領域が表示される。例えば、ユーザが情報処理システムSAにログインするとき、認証画面100内にユーザID入力領域が表示される。例えば、ログインすることによりログインセッションが開始された後で再度の認証を要する場合、認証画面100はユーザID入力領域を含まなくてもよい。
操作順序取得部161は、ユーザ端末2により提供される入力部群の中で、認証のためにユーザにより操作された2以上の入力部の操作順序を取得する。例えば、操作順序取得部161は、ユーザ端末2から操作順序情報を取得してもよい。操作順序情報は、実際に操作された入力部の操作順序を示す。操作順序情報の構造は基準操作順序情報と同じである。或いは、操作順序取得部161は、例えば入力部群の操作により入力された文字列を取得してもよい。この文字列を認証用文字列という。認証画面100の入力文字表示領域101には、認証用文字列の少なくとも一部としてユーザにより入力されている文字列の代わりに所定の文字で構成される文字列が表示される。操作順序取得部161は、認証用文字列に基づいて操作順序を取得してもよい。例えば、操作順序取得部161は、文字が入力された順序に従って、認証用文字列から文字を取得する。そして、操作順序取得部161は、取得した文字ごとに、文字に対応する入力部IDを、認証用文字列内のその文字の位置を示す位置番号に対応付けて、入力部決定テーブルから取得する。
操作コスト取得部162は、ユーザ端末2により提供される入力部群の中でユーザにより操作された2以上の入力部のそれぞれについて、入力部の操作に費やされた操作コストを取得する。同一の入力部に対する操作であっても、操作内容によって操作コストが変化する可能性がある。操作コスト取得部162は、例えば操作された入力部ごとの操作コストを、ユーザ端末2から取得してもよい。或いは、操作コスト取得部162は、操作された入力部ごとの操作内容を示す情報をユーザ端末2から取得してもよい。そして、操作コスト取得部162は、操作内容を示す情報に基づいて各入力部の操作コストを決定してもよい。或いは、操作コスト取得部162は、例えば入力部群の操作により入力された文字列に含まれる各文字の入力コストを、操作コストとして取得してもよい。例えば、操作コスト取得部162は、文字が入力された順序に従って、認証用文字列から文字を取得する。そして、操作コスト取得部162は、取得した文字ごとに、文字に対応する入力コストを、認証用文字列内のその文字の位置を示す位置番号に対応付けて、入力コストテーブルから取得する。なお、或る文字又は文字種の入力コストが、その文字又は文字種の直前に入力された文字又は文字種によって変化してもよいし、変化しなくてもよい。直前の文字又は文字種によって入力コストが変化する場合、例えば、操作コスト取得部162は、直前の文字又は文字種と、次の文字又は文字種に対応する入力コストを入力コストテーブルから取得する。
認証部163は、操作順序取得部161により取得された操作順序及び操作コスト取得部162により取得された操作コストに基づいて、第1認証条件及び第2認証条件が満たされるか否かを判定する。第1認証条件及び第2認証条件は、認証を許可する条件である。第1認証条件及び第2認証条件の両方が満たされる場合、認証部163は、ユーザの認証を許可する。認証を許可することは、例えば、ログインを許可すること又は所定のサービスの利用を許可すること等であってもよい。第1認証条件及び第2認証条件の少なくとも一方が満たされない場合、認証部163は、ユーザの認証を拒否する。例えば、認証を拒否することは、例えばログインを拒否すること又は所定のサービスの利用を拒否すること等であってもよい。
第1認証条件は、操作順序取得部161により取得された実際の操作順序と、入力部群を操作したユーザのユーザIDに対応付けてユーザ情報DB3に記憶された基準順序情報が示す基準操作順序とが一致することである。第1認証条件は、本発明における第1条件の一例である。
第2認証条件は、例えば、操作コスト取得部162により取得された実際の操作コストの総和が、入力部群を操作したユーザのユーザIDに対応付けてユーザ情報DB3に記憶された基準操作コストと一致することであってもよい。或いは、第2認証条件は、例えば、実際の操作コストの総和が基準操作コスト以上であることであってもよい。操作コストの総和は、操作された全ての入力部の操作コストを足し合わせたものである。第2認証条件は、本発明における第2条件の一例である。第2認証条件が、実際の操作コスト総和が基準操作コストと一致することである場合、基準操作コストは、基準順序に従って操作される2以上の入力部の最小の操作コストの総和よりも大きい必要がある。第2認証条件が、実際の操作コスト総和が基準操作コスト以上であることである場合、基準操作コストは、基準順序に従って操作される2以上の入力部の最小の操作コストの総和以上である必要がある。
認証部163は、入力部群に対するユーザの操作により入力された文字列が特定の文字列と一致するという条件を、認証を許可する条件として用いない。この点が、本実施形態の認証がパスワード認証と異なる点である。従って、ユーザは、例えばパスワードのような特定の文字列を覚える必要はない。第1認証条件の基準順序に従った順序で、ユーザは2以上の入力部を操作すればよい。このとき、操作される全入力部の操作コストの総和が基準操作コストと一致するか又は基準操作コスト以上となるように、ユーザは各入力部を操作すればよい。本実施形態においては、各操作部の実際の操作コストが特定のコストと一致する必要はない。各操作部の操作に費やす操作コストをユーザが自由に決めることができる。これにより、第1認証条件及び第2認証条件を満たす操作内容にバリエーションが生じ、ユーザは、他人には複雑に見えるような操作を容易に又は素早く行うことができる。また、ユーザは、第1認証条件及び第2認証条件を満たすように、毎回異なる内容の操作を行うことも可能である。
例えば、基準操作順序が、特定の3個の入力部を順次操作することを示し、基準操作コストが12であるとする。また、第2認証条件が、実際の操作コスト総和が基準操作コストの12と一致することであるとする。この場合、ユーザは、1番目から3番目の入力部を、例えば4、4、4の操作コストで操作してもよいし、1、6、5の操作コストで操作してもよい。第2認証条件が、実際の操作コスト総和が基準操作コストの12以上であるとした場合、他人からは操作が複雑に見えるようにユーザが入力部を操作することが更に容易となる。例えば、ユーザは、1番目から3番目の入力部を、例えば5、9、7の操作コストで操作してもよいし、11、3、4の操作コストで操作してもよい。
[1−4−1.入力環境及び認証例]
次に、操作順序及び操作コストの取得と認証の具体例として、入力される文字によって入力部の操作回数が異なる入力環境おける例を説明する。操作回数は、入力部の操作内容の一例である。
図5は、入力部群110の構成例を示す図である。入力部群110は、入力される文字によって入力部の操作回数が異なる入力環境おける入力部群である。例えば、入力部群110は、ユーザ端末2が所定の携帯電話機である場合の入力部群であってもよい。この場合、ユーザ端末2は、操作部として入力部群110を備える。或いは、例えば入力部群110がソフトウェアキーボードとしてユーザ端末2の表示部に表示されてもよい。
図5に示すように、入力部群110は、文字キーB1〜B10、及び確定キーB11等を含む。文字キーB1〜B10は、文字を入力するためのキーである。文字キーB1〜B10は、それぞれ入力部の例である。文字キーB1〜B10のそれぞれには、入力可能な文字が1又は複数割り当てられている。ユーザが同一の文字キーを連続して押した回数に応じて、入力される文字が変わる場合がある。例えば、ユーザがキーB1をタップすると、「1」が入力される。また例えば、ユーザがキーB2をタップするごとに、「a」、「b」、「c」、「A」、「B」、「C」、「2」と、入力される文字が変化する。更にユーザがキーB2をタップすると、入力される文字が「a」に戻る。また例えば、ユーザがキーB7をタップするごとに、「p」、「q」、「r」、「s」、「P」、「Q」、「R」、「S」、「7」と、入力される文字が変化する。更にユーザがキーB7をタップすると、入力される文字が「p」に戻る。確定キーB11は、文字の入力を確定するためのキーである。例えば、「pa」を入力する場合、ユーザはキーB7を1回タップした後、キーB2を1回タップすればよい。一方、「aa」を入力する場合、ユーザはキーB2を1回タップして確定キーB11を1回タップした後に、キーB2を1回タップする。また例えば、ユーザがキーB2を1回タップして所定時間が経過すると、1番目の「a」の入力が確定し、その後にユーザはキーB2を1回タップすると、「aa」が入力されてもよい。
図6Aは、入力部群110に対応する入力部決定テーブルの一例である。この入力部決定テーブルには、例えば、キーB1の入力部IDに対応付けて「1」が格納される。また例えば、キーB2の入力部IDに対応付けて、「a、b、c、A、B、C、2」が格納される。また例えば、キーB7の入力部IDに対応付けて、「p、q、r、s、P、Q、R、S、7」が格納される。
入力環境が、入力される文字によって入力部の操作回数が異なる環境である場合、入力コストテーブルは、パスワードに含まれる複数の文字のそれぞれを入力するための操作回数に基づく入力コストを格納してもよい。操作コスト取得部162は、この入力コストテーブルに基づいて、入力部の操作回数に基づく操作コストを取得する。文字キーをタップする回数は、入力部の操作回数の一例である。しかしながら、操作コストとしての操作回数が取得される操作はタップに限られるものではない。図6Bは、入力部群110に対応する入力コストテーブルの一例である。図6Bに示すように、入力部群110においては、文字によって入力操作の回数が変化する。例えば、「a」を入力するための操作回数は1であり、「2」を入力するための操作回数は7である。操作の回数が多いほど入力コストが大きい。また、直前の文字のキーと今回の文字のキーとが同一である場合、ユーザは、直前の文字を確定するため確定キー132を押すか又は所定時間待機する必要がある。そのため、直前の文字のキーと今回の文字のキーに応じても入力操作の回数が異なる。そこで、入力コストテーブルには、図6Bに示すように、直前の文字と今回の文字に対応付けて、入力操作の回数に応じた次の文字の入力コストが格納される。図6Bの例では、キーの1回の操作につき1の入力コストがかかるものとしている。例えば、1番目に「a」を入力するためのコストは1である。また、「2」の入力コストは7である。直前の文字が「a」である場合において、今回「a」を入力するための入力コストは2である。直前の文字が「a」である場合において、今回「d」を入力するための入力コストは1である。すなわち、確定キー132を押すか又は所定時間待機するコストが、次の文字の入力コストに反映される。
例えば、「cBx9y6」が入力された場合、「c」から「6」までの文字の入力コストはそれぞれ3、6、2、10、4、7である。従って、パスワードの入力コストは32である。
図7Aは、第1認証条件及び第2認証条件の例を示す図である。第1認証条件における基準操作順序として、操作されるべき文字キーは1番目から順に、キーB2、キーB5、キーB7、キーB3であるとする。また、基準操作コストは10であるとする。そして、第2認証条件は、実際の操作コストが、基準操作コストである10以上であることとする。
図7B〜図7Eは、入力部群110の操作により実際に入力された認証用文字列、操作順序、操作コストの例を示す。図7Bの例では、認証用文字列は「blDs」である。この場合の操作順序は、キーB2、キーB5、キーB3及びキーB7である。従って、第1認証条件が満たされないので、認証は拒否される。なお、操作コストは、2+3+4+4=13であるので、第2認証条件は満たされる。
図7Cの例では、認証用文字列は「bjre」である。この場合の操作順序は、キーB2、キーB5、キーB7及びキーB3である。従って、第1認証条件は満たされる。一方、操作コストは、2+1+3+2=8である。従って、第2認証条件が満たされないので、認証は拒否される。
図7Dの例では、認証用文字列は「aJsd」である。この場合の操作順序は、キーB2、キーB5、キーB7及びキーB3である。従って、第1認証条件は満たされる。一方、操作コストは、1+4+4+1=10である。従って、第2認証条件が満たされる。そのため、認証は許可される。
図7Eの例では、認証用文字列は「2kPF」である。この場合の操作順序は、キーB2、キーB5、キーB7及びキーB3である。従って、第1認証条件は満たされる。一方、操作コストは、7+2+5+6=20である。従って、第2認証条件が満たされる。そのため、認証は許可される。
なお、第2認証条件が、実際の操作コストが基準操作コストと一致することである場合、図7Eに示す操作コストの20は基準操作コストの10と一致しない。従って、認証は拒否される。
[1−4−2.入力環境の例2]
入力環境が、入力部の操作によって入力可能な文字の区分の切り替えが可能な環境である場合がある。図8Aは、ユーザ端末2が所定のスマートフォンである場合の入力環境の例を示す図である。例えば、或るスマートフォンは、ソフトウェアキーボードを画面に表示させるとする。ソフトウェアキーボードは、複数のキーを含む。この場合のユーザ端末2は、ソフトウェアキーボーとして、例えば図8Aに示すように小文字キーボード120−1、大文字キーボード120−2及び数字キーボード120−3を表示可能である。各ソフトウェアキーボードは、文字を入力可能な文字キーを複数含む。各文字キー上には、入力可能な文字が表示される。小文字キーボード120−1、大文字キーボード120−2及び数字キーボード120−3は、入力可能な文字が異なることを除き、基本的に同一の入力部群である。この場合の同一の入力部群とは、例えば文字を入力するために用いられる入力部の配列が同一であることをいう。例えば、小文字キーボード120−1内の文字キー123−1と、大文字キーボード120−2内の文字キー123−2と、数字キーボード120−3内の文字キー123−3とは同一のキーである。しかしながら、文字キー123−1〜120−3は、入力可能な文字が異なる。
ユーザ端末2は、ユーザの操作に基づき、入力に用いられるソフトウェアキーボードを切り替えて表示させる。図8Aの例において、各ソフトウェアキーボードの各文字キーには、入力可能な文字が基本的に1文字割り当てられている。小文字キーボード120−1は、英小文字を入力するためのキーボードである。従って、小文字キーボード120−1は、それぞれ英小文字が割り当てられた複数の文字キーを含む。更に小文字キーボード120−1は、切替キー121−1及び122−1を含む。ユーザが切替キー121−1を押すと、ユーザ端末2は、ソフトウェアキーボードを大文字キーボード120−2に切り替える。また、ユーザが切替キー122−1を押すと、ユーザ端末2は、ソフトウェアキーボードを数字キーボード120−3に切り替える。大文字キーボード120−2は、英大文字を入力するためのキーボードである。従って、大文字キーボード120−2は、それぞれ英大文字が割り当てられた複数の文字キーを含む。更に大文字キーボード120−2は、切替キー121−2及び122−2を含む。ユーザが切替キー121−2を押すと、ユーザ端末2は、ソフトウェアキーボードを小文字キーボード120−1に切り替える。また、ユーザが切替キー122−2を押すと、ユーザ端末2は、ソフトウェアキーボードを数字キーボード120−3に切り替える。また、ユーザが大文字キーボード120−2の何れかの文字キーを押して大文字を一文字入力すると、ユーザ端末2は、ソフトウェアキーボードを小文字キーボード120−1に切り替える。数字キーボード120−3は、数字及び記号を入力するためのキーボードである。従って、数字キーボード120−3は、それぞれ数字又は記号が割り当てられた複数の文字キーを含む。更に数字キーボード120−3は、切替キー122−3を含む。ユーザが切替キー122−3を押すと、ユーザ端末2は、ソフトウェアキーボードを小文字キーボード120−1に切り替える。
図8Bは、ソフトウェアキーボード120−1〜120−3に対応する入力部決定テーブルの例を示す図である。この入力部決定テーブルには、例えば、入力部ID「001」に対応付けて、「q、Q、1」が格納される。また例えば、入力部ID「011」に対応付けて、「a、A、−」が格納される。
入力コストテーブルは、入力部の操作により入力された文字の区分へ、入力可能な文字の区分を切り替えるための切り替え回数に基づく入力コストを格納してもよい。切り替え回数は、操作内容の一例である。操作コスト取得部162は、この入力コストテーブルに基づいて、入力可能な文字の区分の切り替え回数に基づく操作コストを取得する。
図8Cは、ソフトウェアキーボード120−1〜120−3に対応する入力コストテーブルの例を示す図である。ソフトウェアキーボードの切替が可能である場合、各文字の入力コストは、その文字の入力に用いられるソフトウェアキーボードと、直前の文字の入力に用いられるソフトウェアキーボードとに応じて変化する。具体的に、ソフトウェアキーボードを切り替える回数が異なる。そこで、例えば入力コストテーブルには、文字を入力するためにソフトウェアキーボードを切り替える操作の回数に応じたコストがその文字の入力コストとして格納される。ソフトウェアキーボード120−1〜120−3の場合、直前に入力された文字の文字種と次に入力される文字の文字種とに応じて、次の文字の入力コストが変化する。そこで、例えば図8Cに示すように、入力コストテーブルには、直前の文字の文字種と次の文字の文字種とに対応付けて、次の文字の文字種の入力コストが格納される2次元配列であってもよい。図8Cの例では直前の文字種が行に対応し、次の文字種が列に対応しているが、直前の文字種が列に対応し、次の文字種が行に対応してもよい。図8Cの例では、キーの1回の操作につき1の入力コストがかかるものとしている。一文字目を入力するとき、すなわち、直前に入力されている文字がないとき、画面には、例えば小文字キーボード120−1が表示される。従って、英小文字を入力する場合、ユーザは、小文字キーボード120−1上の所望の文字キーを押す操作を行えばよい。そこで、この場合の英小文字の入力コストが1となる。一方、英大文字又は数字を入力する場合、ユーザは、切替キー121−1又は122−1を操作して、ソフトウェアキーボードを切り替えてから、所望のキーを選択操作する必要がある。従って、英大文字及び数字の入力コストはそれぞれ2となる。直前に入力された文字が小文字である場合、画面には小文字キーボード120−1が表示されている。従って、この場合の英小文字、英大文字及び数字の入力コストもそれぞれ1、2、2である。また、直前に入力された文字が大文字である場合、大文字が入力されることにより、大文字キーボード120−2から小文字キーボード120−1に切り替わる。従って、この場合の英小文字、英大文字及び数字の入力コストもそれぞれ1、2、2である。直前に入力された文字が数字である場合、画面には数字キーボード120−3が表示されている。従って、小文字を入力する場合、ユーザは、切替キー122−2を操作してソフトウェアキーボード英小文字キーボード120−1に切り替えてから、所望の文字キーを選択操作する必要がある。従って、英小文字の入力コストは2となる。また、英大文字を入力する場合、ユーザは、切替キー121−2を操作してソフトウェアキーボード英小文字キーボード120−1に切り替え、更に切替キー121−1を操作してソフトウェアキーボード英大文字キーボード120−2に切り替えてから、所望のキーを選択操作する必要がある。従って、英大文字の入力コストは3となる。また、数字の入力コストは1となる。なお、入力コストテーブルには、直前に入力された文字と次に入力された文字とに対応付けて入力コストが格納されてもよい。
例えば、認証用文字列が「oJ3X70c」であるとする。この場合、「o」から「c」までの文字の入力コストはそれぞれ1、2、2、3、2、1、2である。従って、操作コストの総和は13である。
[1−4−3.入力環境の例3]
入力環境が、入力される文字によって入力部の操作回数が異なる環境の別の例について説明する。
図9Aは、ソフトウェアキーボード130−1及び130−2の一例を示す図である。例えば、別の或るスマートフォンは、フリック入力が可能なソフトウェアキーボードを画面に表示させるとする。この場合のユーザ端末2は、ソフトウェアキーボーとして、例えば図9Aに示すように小文字・数字キーボード130−1及び大文字キーボード130−2を表示可能である。小文字・数字キーボード130−1及び大文字キーボード130−2の各文字キーには複数の文字が割り当てられている。小文字・数字キーボード130−1及び大文字キーボード130−2は、入力可能な文字が異なることを除き、基本的に同一のソフトウェアキーボードである。小文字・数字キーボード130−1及び大文字キーボード130−2は、それぞれ文字キーK1〜K10、及び切替キーK11等を含む。小文字・数字キーボード130−1は、英小文字及び数字を入力するためのキーボードである。各文字キー上には、入力可能な文字が1又は複数表示される。例えば、ユーザが小文字・数字キーボード130−1の文字キーK1をタップすると、「a」が入力される。タップとは、指でキーを押して離す操作である。ユーザが文字キーK1をフリックすると、「a」とは異なる文字が入力される。フリックとは、指でキーを押して、押した指を何れかの方向に払う操作である。例えば、ユーザが文字キーK1を左方向にタップすると、「b」が入力される。また、ユーザが文字キーK1を上方向にタップすると、「c」が入力される。また、ユーザが文字キーK1を下方向にタップすると、「2」が入力される。小文字・数字キーボード130−1の切替キーK11をユーザが押すと、ユーザ端末2は、ソフトウェアキーボードを大文字キーボード130−2に切り替える。大文字キーボード130−2は、英大文字を入力するためのキーボードである。大文字キーボード130−2においても小文字・数字キーボード130−1と同様の操作が可能である。例えば、ユーザが大文字キーボード130−2の文字キーK1をタップすると、「A」が入力される。ユーザが文字キーK1を左方向にタップすると、「B」が入力される。また、ユーザが文字キーK1を上方向にタップすると、「C」が入力される。大文字キーボード130−2の切替キーK11をユーザが押すと、ユーザ端末2は、ソフトウェアキーボードを小文字・数字キーボード130−1に切り替える。
図9Bは、ソフトウェアキーボード130−1及び130−2に対応する入力部決定テーブルの例を示す図である。この入力部決定テーブルには、例えば、キーK2の入力部IDに対応付けて「a、b、c、A、B、C、2」が格納される。また例えば、キーK7の入力部IDに対応付けて、「p、q、r、s、P、Q、R、S、7」が格納される。
図9Cは、ソフトウェアキーボード130−1及び130−2に対応する入力コストテーブルの例を示す図である。フリック入力が可能である場合、文字によって操作の回数が異なる。具体的に、タップの場合、ユーザはキーを一瞬押すという操作を行えばよい。つまり、タップは1つの操作のみを含む。一方、フリックの場合、ユーザはキーを押す操作と、押した指を払う操作を行う必要がある。すなわち、フリックは2つの操作を含むとみなされてもよい。操作回数が多いほど、入力コストが大きい。また、直前の文字の文字種と次の文字に応じて、ソフトウェアキーボードの切替操作が必要であるか否かが異なる。そこで、例えば図9Cに示すように、入力コストテーブルには、直前の文字の文字種と次の文字とに対応付けて、次の文字の入力コストが格納されてもよい。例えば、ソフトウェアキーボードの切替操作が不要である場合に、タップで入力される文字の入力コストは1であり、フリックで入力される文字の入力コストは2である。ソフトウェアキーボードの切替操作が必要である場合、タップで入力される文字の入力コストは2であり、フリックで入力される文字の入力コストは3である。
例えば、認証用文字列が「jZx9ra」であるとする。この場合、「j」から「a」までの文字の入力コストはそれぞれ1、3、3、2、2、1である。従って、入力コストの総和は12である。
[1−5.情報処理システムの動作]
次に、情報処理システムSAの動作について、図10乃至図12を用いて説明する。なお、以下に説明する動作例は、第2認証条件が、実際の操作コストの総和が基準操作コスト以上であることと定義されている場合の動作例である。
図10は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の認証処理の一例を示すフローチャートである。例えば、ユーザ端末2からのログインの要求を認証装置1へ送信する。または例えば、ログインセッション中、認証装置1は、再度の認証を要する特定のサービスの要求を認証装置1へ送信する。認証装置1が、ログインの要求又は再度の認証を要するサービスの要求を受信したとき、システム制御部16は認証処理を実行する。
図10に示すように、操作順序取得部161は、認証画面100のウェブページをユーザ端末2に出力(送信)する(ステップS1)。ログインの場合、認証画面100は、例えばログインID入力領域、入力文字表示領域101及び認証ボタン102を含む。再度の認証の場合、認証画面100は、例えば入力文字表示領域101及び認証ボタン102を含む。ユーザ端末2は、ウェブページに基づいて認証画面100を表示する。入力部群がソフトウェアキーボード等である場合、ユーザ端末2は、認証画面100とともにソフトウェアキーボード等を表示する。
ログインの場合、ユーザは、入力部群を操作することによりユーザID及び認証用文字列を入力する。ユーザ端末2は、入力されたユーザID及び認証用文字列を認証装置1へ送信し、操作順序取得部161は、ユーザID及び認証用文字列を通信部11を介して取得する。再度の認証の場合、ユーザは、入力部群を操作することにより認証用文字列を入力する。ユーザ端末2は、セッションID及び入力された認証用文字列を認証装置1へ送信し、操作順序取得部161は、セッションID及び認証用文字列を通信部11を介して取得する(ステップS2)。セッションIDは、ログインセッションの識別情報である。情報処理システムSAへのログインが成功したときに、システム制御部16はセッションIDを生成し、セッションIDと入力されたユーザIDとを対応付けてRAM16cに記憶させる。そして、システム制御部16は、生成されたセッションIDを含むクッキーをユーザ端末2に送信する。これにより、ユーザ端末2から認証装置1へ送信される要求は、セッションIDを含む。
次いで、認証部163は、第1認証条件判定処理を実行する(ステップS3)。図11は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の第1認証条件判定処の一例を示すフローチャートである。図11に示すように、認証部163は、ユーザ端末2から取得されたユーザIDに対応する基準操作順序情報をユーザ情報DB3から取得する。或いは、認証部163は、ユーザ端末2から取得されたセッションIDに対応するユーザIDをRAM16cから取得する。そして、認証部163は、取得されたユーザIDに対応する基準操作順序情報をユーザ情報DB3から取得する(ステップS11)。
次いで、基準操作順序取得部161は、位置番号iを1に設定する(ステップS12)。次いで、基準操作順序取得部161は、ユーザ端末2から取得した認証用入力文字列から文字(i)を取得する(ステップS13)。文字(i)は、認証用入力文字列に含まれる文字のうちi番目の文字である。次いで、基準操作順序取得部161は、文字(i)に対応する入力部IDを、入力部決定テーブルから取得する(ステップS14)。次いで、認証部163は、取得した入力部IDが、基準操作順序情報の入力部ID(i)と一致するか否かを判定する(ステップS15)。入力部ID(i)は、基準操作順序情報に含まれる入力部IDのうちi番目の入力部IDである。認証部163は、取得した入力部IDが基準操作順序情報の入力部ID(i)と一致しないと判定した場合には(ステップS15:NO)、ステップS16に進む。ステップS16において、認証部163は、判定結果を「NG」に設定して、第1認証条件判定処理を終了させる。一方、認証部163は、取得した入力部IDが基準操作順序情報の入力部ID(i)と一致すると判定した場合には(ステップS15:YES)、ステップS17に進む。
ステップS17において、認証部163は、位置番号iが、認証用入力文字列の文字数の値未満であるか否かを判定する。このとき、認証部163は、位置番号iが認証用入力文字列の文字数の値未満であると判定した場合には(ステップS17:YES)、ステップS18に進む。一方、認証部163は、位置番号iが認証用入力文字列の文字数の値未満ではないと判定した場合には(ステップS17:NO)、ステップS20に進む。
ステップS18において、認証部163は、位置番号iが、基準操作順序情報に含まれる入力部IDの数の値未満であるか否かを判定する。このとき、認証部163は、位置番号iが、基準操作順序情報に含まれる入力部IDの数の値未満であると判定した場合には(ステップS18:YES)、ステップS19に進む。ステップS19において、認証部163は、位置番号iに1を加算して、ステップS13に進む。一方、認証部163は、位置番号iが、基準操作順序情報に含まれる入力部IDの数の値未満ではないと判定した場合には(ステップS18:NO)、ステップS16に進む。
ステップS20において、認証部163は、位置番号iが基準操作順序情報に含まれる入力部IDの数の値と一致するか否かを判定する。このとき、認証部163は、位置番号iが基準操作順序情報に含まれる入力部IDの数の値と一致しないと判定した場合には(ステップS20:NO)、ステップS16に進む。一方、認証部163は、位置番号iが基準操作順序情報に含まれる入力部IDの数の値と一致すると判定した場合には(ステップS20:YES)、ステップS21に進む。ステップS21において、認証部163は、判定結果を「OK」に設定して、第1認証条件判定処理を終了させる。
第1認証条件判定処理が終了すると、認証部163は、図10に示すように、判定結果が「OK」であるか否かを判定する(ステップS4)。このとき、認証部163は、判定結果が「OK」ではないと判定した場合には(ステップS4:NO)、ステップS5に進む。ステップS5において、認証部163は、認証の拒否を決定する。そして、認証部163は、認証を拒否することを示すメッセージをユーザ端末2へ送信して、ステップS1に進む。一方、認証部163は、判定結果が「OK」であると判定した場合には(ステップS4:YES)、ステップ6に進む。
ステップS6において、認証部163は、第2認証条件判定処理を実行する。図12は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の第2認証条件判定処の一例を示すフローチャートである。図12に示すように、操作コスト取得部162は、位置番号iを1に設定する。また、操作コスト取得部162は、操作コストの総和を0に設定する(ステップS31)。次いで、操作コスト取得部162は、位置番号iが1であるか否かを判定する(ステップS32)。このとき、操作コスト取得部162は、位置番号iが1であると判定した場合には(ステップS32:YES)、ステップS33に進む。ステップS33において、操作コスト取得部162は、直前文字を「該当なし」に設定して、ステップS35に進む。一方、字入力コスト取得部162は、位置番号iが1ではないと判定した場合には(ステップS32:NO)、ステップS34に進む。ステップS34において、操作コスト取得部162は、認証用文字列から文字(i−1)を取得する。そして、操作コスト取得部162は、文字(i−1)を直前文字に格納して、ステップS35に進む。
ステップS35において、操作コスト取得部162は、認証用文字列から文字(i)を取得する。そして、操作コスト取得部162は、文字(i)を次文字に格納する。次いで、操作コスト取得部162は、入力コストテーブルから、直前文字又は直前文字の文字種と、次文字又は次文字の文字種とに対応する入力コストを、次文字の入力コストとして取得する(ステップS36)。次いで、操作コスト取得部162は、取得した入力コストを操作コストの総和に加算する(ステップS37)。
次いで、認証部163は、位置番号iが、認証用入力文字列の文字数の値未満であるか否かを判定する(ステップS38)。このとき、認証部163は、位置番号iが認証用入力文字列の文字数の値未満であると判定した場合には(ステップS38:YES)、ステップS39に進む。ステップS39において、認証部163は、位置番号iに1を加算して、ステップS32に進む。一方、認証部163は、位置番号iが認証用入力文字列の文字数の値未満ではないと判定した場合には(ステップS38:NO)、ステップS40に進む。
ステップS40において、認証部163は、認証部163は、ユーザ端末2から取得されたユーザIDに対応する基準操作コストをユーザ情報DB3から取得する。或いは、認証部163は、ユーザ端末2から取得されたセッションIDに対応するユーザIDをRAM16cから取得する。そして、認証部163は、取得されたユーザIDに対応する基準操作コストをユーザ情報DB3から取得する。
次いで、認証部163は、操作コストの総和が、取得された基準操作コスト以上であるか否かを判定する(ステップS41)。このとき、認証部163は、操作コストの総和が基準操作コスト以上であると判定した場合には(ステップS41:YES)、ステップS42に進む。ステップS42において、認証部163は、判定結果を「OK」に設定して、第2認証条件判定処理を終了させる。一方、認証部163は、操作コストの総和が基準操作コスト以上ではないと判定した場合には(ステップS41:NO)、ステップS43に進む。ステップS43において、認証部163は、判定結果を「NG」に設定して、第2認証条件判定処理を終了させる。
第2認証条件判定処理が終了すると、認証部163は、図10に示すように、判定結果が「OK」であるか否かを判定する(ステップS7)。このとき、認証部163は、判定結果が「OK」ではないと判定した場合には(ステップS7:NO)、ステップS5に進む。一方、認証部163は、判定結果が「OK」であると判定した場合には(ステップS4:YES)、ステップ8に進む。ステップS8において、認証部163は、認証の許可を決定する。そして、認証装置1は、認証が許可された後の画面のウェブページをユーザ端末2に出力して、認証処理を終了させる。
[1−6.認証装置が端末装置に適用された場合]
次に、認証装置1が端末装置に適用された場合について図1Bを用いて説明する。図1Bは、認証装置1を端末装置に適用した場合の情報処理システムSBの概要構成の一例を示す図である。図1Bに示すように、情報処理システムSBは、端末装置として認証装置1を含む。この場合の認証装置1は例えばネットワークに接続可能であってもよい。また、2以上の認証装置1が存在してもよい。認証装置1は、例えば、スマートフォン、タブレット型コンピュータ、携帯電話機、パーソナルコンピュータ、PDA、STB等であってもよい。認証装置1はユーザにより利用される。認証装置1が端末装置である場合の認証装置1の構成は、図3Aに示す構成であってもよい。また、システム制御部16は、図3Bに示す各部として機能してもよい。
例えば、認証装置1を利用するための基準操作順序情報及び基準操作コストをユーザが設定することができるように認証装置1が構成されていてもよい。また、例えばユーザ情報DB3が記憶部12に記憶されてもよい。
ユーザ認証のために操作される入力部群は操作部13であるか、又は操作部13と表示部14により入力部群が提供される。本実施形態において、認証装置1における文字の入力環境は単一である。記憶部12には、入力環境に対応する入力部決定テーブル及び入力コストテーブルが記憶されている。認証装置1は、入力部決定テーブルに基づいて入力部群の操作順序を取得し、入力コストテーブルに基づいて、認証用文字列の操作コストの総和を取得する。そして、認証装置1は、第1認証条件及び第2認証条件が満たされるか否かを判定する。
認証装置1が端末装置である場合の処理は、図10乃至図12のフローチャートで示した処理と基本的に同様である。ただし、システム制御部16は、認証画面、認証が許可された後の画面を表示部14に出力する。また、システム制御部16は、操作部13の操作に基づいて入力された認証用文字列を取得する。また、システム制御部16は、ログインセッションが開始された場合にセッションIDを生成しなくてもよい。この場合、システム制御部16は、例えば入力されたユーザIDを、ログインセッション中のユーザのユーザIDとしてRAM16c等に記憶すればよい。また、例えば認証装置1を利用可能なユーザが一人のユーザのみに制限されていてもよい。この場合、例えばログインの場合であってもユーザはユーザIDを入力しなくてもよい。またこの場合、ユーザ情報DB3は記憶部12に記憶されなくてもよい。例えば、1人分の基準操作順序情報及び基準操作コストが記憶部12に記憶されればよい。
以上説明したように、本実施形態によれば、システム制御部16が、入力部群の中でユーザにより操作された2以上の入力部の操作順序を取得する。また、システム制御部16が、入力部の操作に費やされた操作コストであって、その入力部の操作内容に応じて変化する操作コストを、操作された入力部ごとに取得する。そして、システム制御部16が、取得された操作順序とユーザ情報DB3に記憶された基準操作順序とが一致するという第1認証条件と、取得された操作コストの総和が基準操作コストと一致するという第2認証条件とが満たされる場合、認証の許可を決定する。或いは、システム制御部16が、取得された操作順序と記憶部12に記憶された基準操作順序とが一致するという第1認証条件と、取得された操作コストの総和が基準操作コスト以上であるという第2認証条件とが満たされる場合、認証の許可を決定する。従って、ユーザは、入力部を素早く操作することができる。そのため、入力部の操作を煩雑にすることなく、入力部を操作する動作を他人に分かりにくくすることができる。
また、第1認証条件及び第2認証条件が満たされる場合、システム制御部16が、操作された2以上の入力部のうち所定の順番で操作された入力部の操作コストが特定のコストと一致するか否かに関わらず、認証の許可を決定する。従って、所定の順番の入力部の操作にユーザが費やすコストにバリエーションを持たせることができる。
また、システム制御部16が、文字の入力操作に用いられる入力部群に対するユーザの操作により入力された認証用文字列が特定の文字列と一致するという条件を、認証を許可する条件として用いない。従って、ユーザは、認証に必要な特定の文字列を覚えておく必要はない。
また、システム制御部16が、入力部の操作により入力された文字の区分へ入力可能な文字の区分を切り替えるための切り替え回数に基づいて、その入力部の操作コストを取得してもよい。この場合、入力可能な文字の区分の切り替えが可能な入力環境に対して適切な入力コストを算出することができる。
また、システム制御部16が、入力部の操作回数に基づいて、その入力部の操作コストを取得してもよい。この場合、入力部に対して複数回操作することが可能な場合に、操作コストを適切に取得することができる。
[2.第2実施形態]
次に、第2実施形態について図13A乃至図15を用いて説明する。本実施形態は、入力環境が、入力部群の操作により入力可能な文字種の切り替えが可能な環境に適用される。このような入力部群の例は、図8A、図9Aに示されるようなソフトウェアキーボードであってもよい。以下に説明する点を除き、第2実施形態は第1実施形態と基本的に同様である。なお、第2実施形態〜第7実施形態においても、認証装置1は、例えばサーバ装置であってもよいし、端末装置であってもよい。
本実施形態において、操作順序情報取得部161は、ユーザ認証が必要なとき、入力部群の操作により入力可能な文字種をランダムに決定する。認証画面を表示するとき、操作順序情報取得部161は、入力部群を、ランダムに決定された文字種の複数の文字とともに表示させる。このとき、操作順序情報取得部161は、決定された文字種の複数の文字のそれぞれを、その文字を入力可能な入力部上に又はその入力部に対応付けて表示させる。このようにして表示された入力部群の中でユーザにより操作された2以上の入力部の操作順序及び操作コストを、操作順序情報取得部161及び操作コスト取得部162がそれぞれ取得する。
入力可能な文字種がランダムに決定されるので、ユーザが毎回同じ順序で入力部を操作したとしても、入力される認証用文字列を変化させることができる。そのため、認証時に画面に表示された入力部群からは、他人は認証のための操作内容を推定することが困難となる。従って、安全性を高めることができる。
次に、図9Aに示すソフトウェアキーボード130−1及び130−2が用いられた場合の具体例を説明する。操作順序情報取得部161は、表示されるソフトウェアキーボードを、小文字・数字キーボード130−1及び大文字キーボード130−2の中からランダムに決定する。すなわち、操作順序情報取得部161は、入力可能な文字を、小文字及び数字にするか又は大文字にするかをランダムに決定する。
図13Aは、小文字・数字キーボード130−1が決定された場合の画面例である。例えば、操作順序情報取得部161は、小文字・数字キーボード130−1を決定したとする。すると、操作順序情報取得部161は、図13Aに示すように、認証画面とともに小文字・数字キーボード130−1を画面に表示させる。図13Bは、小文字・数字キーボード130−1の操作により実際に入力された文字列、操作順序、操作コストの例を示す。この小文字・数字キーボード130−1を操作して、ユーザが認証用文字列「8ane9」を入力したとする。この場合の操作順序は、キーK8、キーK2、キーK6、キーK3及びキーK9である。また、操作コストの総和は、2+1+2+2+2=9である。
図14Aは、大文字キーボード130−2が決定された場合の画面例である。例えば、操作順序情報取得部161は、大文字キーボード130−2を決定したとする。すると、操作順序情報取得部161は、認証画面とともに大文字キーボード130−2を画面に表示させる。図14Bは、大文字キーボード130−2の操作により実際に入力された文字列、操作順序、操作コストの例を示す。この大文字キーボード130−2を操作して、ユーザが認証用文字列「UAOEZ」を入力したとする。この場合の操作順序も、キーK8、キーK2、キーK6、キーK3及びキーK9である。また、操作コストの総和も、2+1+2+2+2=9である。
なお、認証用文字列を入力するとき、ユーザは入力可能な文字種を切り替えることができる。しかしながら、入力部群の操作により入力された文字に関わらず、操作順序が第1認証条件を満たし、且つ操作コストの総和が第2認証条件を満たせばよい。従って、ユーザは、入力可能な文字種を切り替えてもよいし、切り替えなくてもよい。或いは、操作順序情報取得部161は、例えば入力可能な文字種を、最初に決定した文字種から変更することが不可能なように制御してもよい。
図15は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の認証処理の一例を示すフローチャートである。図15において、図10と同様の処理については同様の符号が付されている。図15に示すように、操作順序情報取得部161は、入力可能な文字種をランダムに決定する(ステップS51)。次いで、操作順序取得部161は、認証画面100のウェブページをユーザ端末2に出力する(ステップS1)。次いで、操作順序情報取得部161は、決定した文字種を入力可能なソフトウェアキーボードをユーザ端末2に表示させる(ステップS52)。例えば、操作順序情報取得部161は、ソフトウェアキーボードの識別情報をユーザ端末2へ送信してもよい。ユーザ端末2は、認証画面100を表示するとともに、認証装置1から受信した識別情報に対応するソフトウェアキーボードを表示する。こうして、操作順序情報取得部161は、ユーザ端末2に、入力部群を、ランダムに決定した文字種の複数の文字ともに表示させる。
ユーザは、表示された入力部群を操作することにより認証用文字列を入力する。ユーザ端末2は、入力された認証用文字列を認証装置1へ送信し、操作順序取得部161は認証用文字列を取得する(ステップS2)。そして、システム制御部16は、取得された認証用文字列を用いて、ステップS3〜S8を第1実施形態と同様に実行する。
なお、認証装置1が端末装置である場合、ステップS52において、操作順序情報取得部161は、決定した文字種を入力可能なソフトウェアキーボードを表示部14に表示する。
以上説明したように、本実施形態によれば、システム制御部16が、入力部群により入力可能な文字の区分をランダムに決定する。また、システム制御部16が、入力部群を、決定された区分の複数の文字とともに表示させる。そして、システム制御部16が、表示された入力部群の中でユーザにより操作された2以上の入力部の操作順序、及び操作に費やされた操作コストを取得する。従って、認証時に表示された入力部群からは、他人は認証のための操作内容を推定することが困難となる。従って、安全性を更に高めることができる。
[3.第3実施形態]
次に、第3実施形態について図16A乃至図17を用いて説明する。以下に説明する点を除き、第3実施形態は第1実施形態又は第2実施形態と基本的に同様である。
図16Aは、認証装置1をサーバ装置に適用した場合の情報処理システムSCの概要構成の一例を示す図である。図16Aにおいて、図1Aと同様の要素については同様の符号が付されている。情報処理システムSCが、図1Aに示す情報処理システムSAと異なる点は、認証装置1は、ユーザ情報DB3に加えて、文字列入力履歴DB4にアクセス可能に構成されていることである。例えば、認証装置1の記憶部12に文字列入力履歴DB4が記憶されてもよい。或いは、認証装置1と文字列入力履歴DB4を記憶する装置がネットワークを介して接続されてもよい。文字列入力履歴DB4は、ユーザによる認証用文字列の入力履歴が登録されるデータベースである。
図16Bは、文字列入力履歴DB4に登録される内容の一例を示す図である。文字列入力履歴DB4には、認証が許可されるごとに、入力された認証用文字列を含む入力履歴が登録される。具体的に、文字列入力履歴DB4には、入力履歴として、ユーザID、認証日時及び認証用文字列が対応付けて登録される。ユーザIDは、認証用文字列を入力したユーザを示す。認証日時は、認証が許可された日時を示す。
認証部163は、ユーザの認証の許可を決定したとき、ユーザ端末2から取得された認証用文字列を含む入力履歴を文字列入力履歴DB4に記憶させる。また、認証部163は、ユーザ認証時、今回入力された認証用文字列が、過去の認証時に文字列入力履歴DB4に記憶された認証用文字列と一致する場合、認証の拒否を決定する。これにより、過去に入力されたことがある認証用文字列と同一の認証用文字列を入力することはできない。従って、他人がユーザによる認証用文字列の入力操作を盗み見ることにより、同一の認証用文字列を入力したとしても、認証が拒否される。これにより、安全性を高めることができる。
認証部163は、例えば今回入力された認証用文字列が、過去の所定期間内に入力された認証用文字列の何れかと一致する場合にのみ、認証の拒否を決定してもよい。或いは、認証部163は、例えば今回入力された認証用文字列が、直近の所定回分の認証時に入力された認証用文字列の何れかと一致する場合にのみ、認証の拒否を決定してもよい。
図17は、本実施形態に係る情報処理システムSCの認証装置1のシステム制御部16の認証処理の一例を示すフローチャートである。図17が示す処理例は、今回入力された認証用文字列が、過去所定期間内に入力された認証用文字列の何れかと一致する場合に認証が拒否される場合の処理例である。図17において、図10と同様の処理については同様の符号が付されている。
図17に示すように、システム制御部16は、ステップS1〜S7を第1実施形態と同様に実行する。認証部163は、判定結果が「OK」であると判定した場合には(ステップS7:YES)、ステップS61に進む。ステップS61において、認証部163は、現在日時から、記憶部12に記憶された所定日数を減算して、基準日時を計算する。
次いで、認証部163は、認証日時が基準日時以降である過去の1又は複数の認証用文字列を文字列入力履歴DB4から取得する(ステップS62)。具体的に、認証部163は、ユーザ端末2から取得されたユーザIDに対応する認証用文字列を文字列入力履歴DB4から検索する。或いは、認証部163は、ユーザ端末2から取得されたセッションIDに対応するユーザIDをRAM16cから取得する。そして、認証部163は、取得されたユーザIDに対応する認証用文字列を文字列入力履歴DB4から検索する。認証部163は、検索された認証用文字列のうち、認証用文字列に対応付けられた認証日時が基準日時以降である認証用文字列を1又は複数取得する。
次いで、認証部163は、今回ユーザ端末2から取得された認証用文字列が、ステップS62で取得された過去の1又は複数の認証用文字列の何れかと一致するか否かを判定する(ステップS63)。このとき、認証部163は、今回取得された認証用文字列が過去の1又は複数の認証用文字列の何れかと一致すると判定した場合には(ステップS63:YES)、ステップS5に進む。一方、認証部163は、今回取得された認証用文字列が過去の1又は複数の認証用文字列の何れとも一致しないと判定した場合には(ステップS63:NO)、ステップS64に進む。
ステップS64において、認証部163は、現在日時を認証日時に決定する。次いで、認証部163は、取得されたユーザID、認証用入力文字列及び認証日時を対応付けて文字列入力履歴DB4に登録する。次いで、認証装置1は、認証が許可された後の画面のウェブページをユーザ端末2に出力して(ステップS8)、認証処理を終了させる。
なお、認証装置1が端末装置である場合の処理は、上述した処理と同様であってもよい。
以上説明したように、本実施形態によれば、認証の許可が決定された場合、システム制御部16が、ユーザの操作により入力された認証文字列を文字列入力履歴DB4に記憶させる。そして、システム制御部16が今回入力された認証用文字列が、過去の認証時に文字列入力履歴DB4に記憶された認証用文字列と一致する場合、認証の拒絶を決定する。従って、他人がユーザ本人による認証用文字列の入力操作を盗み見ることにより、同一の認証用文字列を入力したとしても、認証が拒否される。これにより、安全性を更に高めることができる。
[4.第4実施形態]
次に、第4実施形態について図18を用いて説明する。第1実施形態においては、文字の入力環境が1つに限定されていた。本実施形態においては、入力環境が複数存在する。以下に説明する点を除き、第4実施形態は第1実施形態〜第3実施形態と基本的に同様である。
認証装置1がサーバ装置である場合、情報処理システムSAにおけるユーザ端末2として、複数の種類の端末装置が情報処理システムSAを利用可能である。ユーザ端末2の種類によって入力環境が異なる場合がある。
操作コスト取得部162は、複数の入力環境の中から実際に認証用文字列の入力に利用される入力環境を特定する。例えば、認証装置1とユーザ端末2がHTTPで通信する場合、操作コスト取得部162は、ユーザ端末2からのリクエストに含まれるユーザエージェント情報を用いてもよい。この場合、認証装置1は、ユーザエージェント情報に対応する入力環境を特定する。
また、操作コスト取得部162は、例えばユーザ端末2に入力環境の情報を要求してもよい。この要求に応じて、ユーザ端末2は、例えば入力環境を示す入力環境IDを認証装置1に送信する。操作コスト取得部162は、入力環境IDを受信することによりユーザ端末2の入力環境を特定する。
認証装置1が端末装置である場合、例えば記憶部12に現在の入力環境を示す情報が記憶されている。操作コスト取得部162は、この情報に基づいて認証装置1における入力環境を特定する。
記憶部12には、入力部決定テーブル及び入力コストテーブルのセットが複数が記憶される。各セットは、例えばそのセットに対応する入力環境を示す入力環境IDに関連付けて記憶される。また、記憶部12には、ユーザエージェント/入力環境変換テーブル変換テーブルが記憶されてもよい。ユーザエージェント/入力環境変換テーブルは、ユーザエージェント情報と、そのユーザエージェント情報が示すユーザ端末2の種類に対応する入力環境IDとを対応付けて記憶するテーブルである。
図18は、本実施形態に係る認証装置1のシステム制御部16の認証処理の一例を示すフローチャートである。図18において図10と同様の処理については同様の符号が付されている。図18に示すように、操作コスト取得部162は、認証用文字列の入力環境を特定する(ステップS71)。認証装置1がサーバ装置である場合、操作コスト取得部162は、例えばユーザ端末2から受信した要求からユーザエージェント情報を取得してもよい。この場合、操作コスト取得部162は、ユーザエージェント/入力環境変換テーブルから、ユーザエージェント情報に対応する入力環境IDを取得する。また、操作コスト取得部162は、例えば要求を送信してきたユーザ端末2へ入力環境IDの要求を送信してもよい。この要求に応じて、ユーザ端末2は、入力環境を示す入力環境IDを認証装置1へ送信する。認証装置1が端末装置である場合、操作コスト取得部162は、例えば記憶部12から入力環境を示す情報を取得してもよい。そして、操作コスト取得部162は、取得した情報に対応する入力環境IDを取得してもよい。
ステップS71を終えると、操作コスト取得部162は、入力環境に対応する入力部決定テーブル及び入力コストテーブルを決定する(ステップS72)。具体的に、操作コスト取得部162は、取得した入力環境IDに対応する入力部決定テーブル及び入力コストテーブルを、記憶部12から特定する。次いで、システム制御部16はS1〜S8を第1実施形態と同様に実行する。
図11に示す第1認証条件判定処理のステップS14において、操作順序情報取得部161は、ステップS72で決定された入力部決定テーブルから、文字(i)に対応する入力部IDを取得する。図12に示す第2認証条件判定処理のステップS36において、操作コスト取得部162は、ステップS72で決定された入力コストテーブルから、次文字の入力コストを取得する。
以上説明したように、本実施形態によれば、システム制御部16が、入力部群を用いた文字の入力環境を特定する。そして、システム制御部16が、特定された入力環境に対するコストの決定規則を示す入力コストテーブルに基づいて、ユーザの操作により入力された文字ごとの操作コストを取得する。従って、入力環境が予め定められていない場合であっても、文字の入力操作に利用される入力環境に対して適切な操作コストを算出することができる。
[5.第5実施形態]
次に、第5実施形態について図19A乃至図20を用いて説明する。本実施形態において、認証装置1は、認証ごとに、所定条件に基づいて基準操作コストを決定する。これにより、認証装置1は、基準操作コストの変更を可能とする。以下に説明する点を除き、第5実施形態は、第1実施形態〜第4実施形態と基本的に同様である。
操作コスト取得部162は、例えば毎回ランダムに基準操作コストを決定してもよい。すなわち、基準操作コストを決定する条件は、ランダムに決定することである。
或いは、例えば基準操作コストを決定する条件は、認証を要するユーザの状況であってもよい。この場合、操作コスト取得部162は、例えば認証を要するユーザの状況を特定してもよい。そして、操作コスト取得部162は、特定された状況に基づいて、基準操作コストを決定してもよい。操作コスト取得部162は、特定された状況の安全性を判定してもよい。この場合の安全性とは、例えばユーザが入力部群を操作する様子が他人に見られる蓋然性の低さであってもよい。この場合、操作コスト取得部162は、ユーザが入力部群を操作する様子が他人に見られる蓋然性の高いほど、大きい基準操作コストを決定する。入力部群を操作する者がユーザ本人であることの蓋然性の高さであってもよい。この場合、操作コスト取得部162は、入力部群を操作する者がユーザ本人であるという蓋然性が低いほど、大きい基準操作コストを決定する。
ユーザの状況の例として、ユーザの位置、ユーザが利用するユーザ端末2の位置、ユーザやユーザ端末2の移動速度、時刻等が挙げられる。ユーザやユーザ端末2の位置の例として、絶対的な位置や相対的な位置が挙げられる。絶対的な位置を示すユーザ状況情報の例として、ユーザ又はユーザ端末2の地理的位置や、ユーザ端末2に割り当てられたIPアドレス等が挙げられる。相対的な位置を示すユーザ状況情報の例として、特定の装置からの距離、ユーザとは異なる誰かからの距離等が挙げられる。操作コスト取得部162は、1つの状況のみを特定してもよいし、複数の状況を特定してもよい。
例えば、ユーザ端末2がGPS(Global Positioning System)を備える場合、ユーザ端末2はユーザ端末2が位置する場所の経緯度等を示す位置情報を取得することができる。また例えば、ユーザ端末2が、スマートフォンや携帯電話機等の移動体通信端末である場合、基地局の位置情報に基づいて、ユーザ端末2の位置情報を取得することができる。これらの場合、操作コスト取得部162は、ユーザ端末2から位置情報をユーザ状況情報として取得してもよい。また、操作コスト取得部162は、ユーザ端末2から認証装置1へ送信されるパケットのヘッダからユーザ端末2のIPアドレスをユーザ状況情報として取得することができる。IPアドレスにより、例えばユーザ端末2が位置する地域を特定することができる場合がある。また例えば、ユーザ端末2が無線LANを介してネットワークNWに接続する場合、ユーザ端末2は、アクセスポイントと通信することにより無線LANに接続する。このとき、ユーザ端末2は、アクセスポイントから送信されてくる信号の強度を検出してもよい。アクセスポイントからの信号の強度により、アクセスポイントからのユーザ端末2までの距離を大まかに推定することができる。この距離は相対的な位置の例である。このような場合、操作コスト取得部162は、ユーザ端末2から、例えばアクセスポイントを識別する情報とアクセスポイントからの距離を示す情報とをユーザ状況情報として取得してもよい。アクセスポイントを識別する情報の例として、アクセスポイントのIPアドレス、SSID(Service Set Identifier)等が挙げられる。距離を示す情報の例として、アクセスポイントからの信号の強度、信号強度に基づいてユーザ端末2が推定した距離等が挙げられる。また、ユーザ端末2が速度センサーを備える場合、ユーザ端末2は、速度センサーにより計測されたユーザ端末2の移動速度を取得してもよい。また例えば、ユーザ端末2は、所定時間ごとにユーザ端末2の位置を取得して、取得された位置に基づいて、ユーザ端末2の移動速度を計算してもよい。これらの場合、操作コスト取得部162は、ユーザ端末2から移動速度を取得することができる。また、システム制御部16は計時機能を有する。従って、操作コスト取得部162は、計時機能から現在時刻をユーザ状況情報として取得することができる。
図19A乃至図19Cは、ユーザの状況に応じた基準操作コストの決定例を示す図である。図19Aは、ユーザ又はユーザ端末2の位置に基づいて基準操作コストが決定される例を示す。操作コスト取得部162、例えば所定の場所にユーザ又はユーザ端末2が位置しているか否かに基づいて基準操作コストを決定してもよい。所定の場所とは、例えばユーザが通常居る場所であってもよい。このような場所の例として、自宅、会社、学校等が挙げられる。図19Aに示すように、操作コスト取得部162は、ユーザ又はユーザ端末2が所定の場所に位置していると場合、ユーザ又はユーザ端末2が所定の場所に位置していない場合よりも、小さい基準操作コストを決定してもよい。ユーザ又はユーザ端末2が所定の場所に位置している場合、ユーザ又はユーザ端末2が所定の場所に位置していない場合よりも、入力部群の操作が他人に見られる蓋然性が低い。或いは、入力部群を操作した者又はそのユーザ端末2が所定の場所に位置している場合、入力部群を操作した者又はそのユーザ端末2が所定の場所に位置していない場合よりも、その者が、認証が許可されるべきユーザ本人である蓋然性が高い。所定の場所の位置は例えばユーザごとに登録されてもよい。この位置を登録位置という。例えば、登録位置が登録されるデータベースが記憶部12に記憶されてもよい。操作コスト取得部162は、例えばユーザ又はユーザ端末2の位置からそのユーザの登録位置までの距離が所定距離以下である場合、ユーザは所定の場所に位置していると判定してもよい。或いは、操作コスト取得部162は、例えばユーザ又はユーザ端末2の位置から登録位置までの距離に応じて、基準操作コストを決定してもよい。例えば、操作コスト取得部162は、距離が長いほど、大きい基準操作コストを決定してもよい。
或いは、コスト取得部162は、過去に認証を許可したときのユーザ又はユーザ端末2の位置と、現在のユーザ又はユーザ端末2の位置とに基づいて、基準操作コストを決定してもよい。例えば、ユーザ又はユーザ端末2の位置を記憶する位置履歴データベースが記憶部12に記憶されてもよい。例えば、操作コスト取得部162は、認証を許可するごとに、ユーザ又はユーザ端末2の現在の位置とそのユーザのユーザIDとを対応付けて位置履歴データベースに記憶してもよい。認証時、操作コスト取得部162は、例えば現在のユーザ又はユーザ端末2の位置から過去に認証を許可したときのユーザ又はユーザ端末2の位置までの距離が長いほど、大きい基準操作コストを決定してもよい。過去に認証を許可したときのユーザ又はユーザ端末2の位置までの距離が短いほど、今回入力部群を操作した者が、認証が許可されるべきユーザ本人である蓋然性が高い。
図19Bは、ユーザ又はユーザ端末2の移動速度に基づいて基準操作コストが決定される例を示す。例えば図19Bに示すように、操作コスト取得部162は、移動速度が速いほど、大きい基準操作コストを決定してもよい。ユーザ又はユーザ端末2が移動している場合、ユーザ又はユーザ端末2が移動していない場合よりも、入力部群の操作が他人に見られる蓋然性が高い。
図19Cは、時刻に基づいて基準操作コストが決定される例を示す。例えば図19Cに示すように、操作コスト取得部162は、現在時刻が含まれる時間帯に基づいて、基準操作コストを決定してもよい。例えば、操作コスト取得部162は、ユーザが自宅に居る蓋然性が高い時間であるほど、小さい基準操作コストを決定してもよい。ユーザが自宅に居る蓋然性が高いほど、入力部群の操作が他人に見られる蓋然性が低い。
また例えば、操作コスト取得部162は、過去に認証が許可された時刻と現在時刻とに基づいて、基準操作コストを決定してもよい。例えば、過去に認証が許可された時刻が登録される認証履歴データベースが記憶部12に記憶されてもよい。例えば、操作コスト取得部162は、認証を許可するごとに、認証時刻と認証が許可されたユーザのユーザIDとを対応付けて認証履歴データベースに記憶してもよい。認証履歴データベースは、例えば文字列入力履歴DB4であってもよい。認証時、操作コスト取得部162は、例えば図19Cに示すように、過去に認証が許可された時刻から現在までに経過した時間が長いほど、大きい基準操作コストを決定してもよい。過去に認証を許可したときから経過した時間が短いほど、入力部群を操作した者が、認証が許可されるべきユーザ本人である蓋然性が高い。
なお、例えば図19A〜図19Cに示すような、ユーザの状況を示す情報と基準操作コストとを対応付けて格納するテーブルが記憶部12に記憶されてもよい。操作コスト取得部162は、記憶されたテーブルと特定したユーザの状況とに基づいて、基準操作コストを決定してもよい。
本実施形態においては、ユーザ情報DB3に基準操作コストは登録されなくてもよい。しかしながら、しかしながら、操作コスト取得部162は、例えばユーザ情報DB3に登録された基準操作コストに基づいて、最終的な基準操作コストを決定してもよい。例えば、操作コスト取得部162は、特定したユーザの状況に基づいて係数を決定してもよい。そして、操作コスト取得部162は、決定した係数を、ユーザ情報DB3に登録された基準操作コストに掛けることにより、最終的な基準操作コストを決定してもよい。
基準操作コストを決定すると、操作コスト取得部162は、基準操作コストを示す情報をユーザに対して提示させる。例えば、操作コスト取得部162は、認証画面100内に、基準操作コストを数字で表示させてもよい。或いは、操作コスト取得部162は、例えば基準操作コストに応じて認証画面100の構成要素の少なくとも1つの色を変化させてもよい。構成要素は、例えば認証画面100の背景であってもよいし、別の構成要素であってもよい。図20A及び20Bは、背景色が変えられた認証画面100の例を示す図である。例えば、基準操作コストが10である場合、図20Aに示す認証画面100が表示されてもよい。この認証画面100の背景色は例えば青等であってもよいし、別の色であってもよい。例えば、基準操作コストが20である場合、図20Bに示す認証画面100が表示されてもよい。この認証画面100の背景色は例えば赤等であってもよいし、別の色であってもよい。
図21は、本実施形態に係る認証装置1のシステム制御部16の認証処理の一例を示すフローチャートである。図21において、図10と同様の処理については同様の符号が付されている。図21に示すように、操作コスト取得部162は、ユーザの状況を特定する(ステップS81)。例えば、操作コスト取得部162は、ユーザ端末2から、ユーザ又はユーザ端末2の絶対的な位置を示す情報、ユーザ又はユーザ端末2の相対的な位置を示す情報を取得してもよい。また、ユーザ端末2は、例えばユーザ又はユーザ端末2の移動速度を示す情報を取得してもよい。また、現在ユーザ状況特定部161は、例えば計時部から現在時刻を取得してもよい。
次いで、操作コスト取得部162は、特定されたユーザ端末2の状況に基づいて、基準操作コストを決定する(ステップS82)。基準操作コストの決定方法は既に説明されている。次いで、操作コスト取得部162は、決定された基準操作コストに基づいて、認証画面100の背景色を決定する。例えば、記憶部12に、基準操作コストと背景色とを対応付けて格納するテーブルが記憶されてもよい。操作コスト取得部162は、例えば決定した基準操作コストに対応する背景色をテーブルから取得してもよい。次いで、操作コスト取得部162は、決定された背景色で背景が塗りつぶされた認証画面100のウェブページをユーザ端末2に出力する(ステップS84)。例えば、操作コスト取得部162は、認証画面100のウェブページのスタイルシートのbackground-colorプロパティを、決定された背景色に変更してもよい。次いで、システム制御部16は、ステップS2〜8を第1実施形態と同様に実行する。ステップS5を終えると、システム制御部16は、ステップS84に進む。
なお、認証装置1が端末装置である場合、操作コスト取得部162は、現在のユーザの状況として、例えば認証装置1の位置、認証装置1を利用するユーザの位置、認証装置1又はユーザの移動速度又は時刻等を特定する。そのため、操作コスト取得部162は、ユーザ端末2の場合と同様の方法でユーザの状況を示す情報を取得又は生成することができる。
以上説明したように、本実施形態によれば、システム制御部16が、認証のための入力部群の操作を要するごとに、所定条件に基づいて基準操作コストを変更可能にその基準操作コストを決定する。そして、システム制御部16が、決定された基準操作コストを用いて、認証の許否を決定する。従って、認証ごとに基準操作コストが変更される可能性があるので、これに応じて第2認証条件が変更される。そのため、安全性を更に高めることができる。
また、システム制御部16が、ユーザが置かれている状況を取得してもよい。そして、システム制御部16が、取得された状況に基づいて、基準操作コストを決定してもよい。この場合、認証装置1は、ユーザの状況に基づいて、安全性を考慮した基準操作コストを決定することができる。
また、システム制御部16が、決定された基準操作コストを示す情報を提示させてもよい。この場合、認証装置1は、入力部の操作に費やすべき操作コストの総和をユーザに認識させることができる。
[6.第6実施形態]
次に、第6実施形態について図22乃至図24を用いて説明する。本実施形態において、認証部163は、第1認証条件及び第2認証条件に加えて、第3認証条件が満たされるか否かを判定する。そして、認証部163は、第1認証条件〜第3認証条件の全てが満たされる場合、認証の許可を決定する。以下に説明する点を除き、第6実施形態は、第1実施形態〜第5実施形態と基本的に同様である。
第3認証条件は、例えば、ユーザにより操作された2以上の入力部のうち所定の順番で操作された入力部の実際の操作コストが、基準部分操作コストと一致することであってもよい。或いは、第3認証条件は、例えば、所定の順番で操作された入力部の実際の操作コストが、基準部分操作コストと以上であることであってもよい。基準部分操作コストは、ユーザ認証の際の所定の順番の入力部の操作でユーザが費やすべき操作コストである。基準部分操作コストは、本発明における第2基準コストの一例である。第3認証条件は、本発明における第3条件の一例である。認証を許可するための条件として、操作コストに関する条件が追加されるので、安全性をより高めることができる。
図22は、ユーザ情報DB3に登録される内容及び基準部分操作コスト情報に登録される内容の例を示す図である。本実施形態において、ユーザ情報DB3には、ユーザID、基準操作順序情報、基準操作コスト、基準部分操作コスト情報が対応付けて登録される。基準部分操作コスト情報は、基準操作順序で操作される各入力部の基準部分操作コストを示す情報である。基準部分操作コスト情報には、操作される入力部ごとに、位置番号及び基準部分操作コストが対応付けて登録される。位置番号に対応する基準部分操作コストが「−」である場合、その位置番号に対応する入力部に対して、実際には基準部分操作コストが設定されていない。この場合、その位置番号に対応する入力部の実際の操作コストに制限はない。例えば、操作されるべき入力部の全部に対して基準部分操作コストが設定されてもよいし、一部の順番の入力部に対して基準部分操作コストが設定されてもよい。ただし、第3認証条件が、所定の順番で操作された入力部の実際の操作コストが、基準部分操作コストと一致することである場合、一部の順番の入力部に対して基準部分操作コストが設定される。すなわち、少なくとも1つの操作部又は所定の順番で操作される操作部の実際の操作コストが特定のコストと一致するか否かに関わらず、認証部163は、認証を許可する。その理由は、第1認証条件〜第3認証条件を満たすことが、パスワードを入力することと実質的に同等となることを避けるためである。また、基準部分操作コストが設定される入力部の順番は情報処理システムSA全体で共通であってもよいし、ユーザごとに個別に決定されてもよい。また、例えば一部のユーザについては、基準部分操作コストが設定されなくてもよい。図22の例では、1番目から4番目までの入力部のうち、1番目及び4番目の入力部に対してのみ基準部分操作コストが設定されている。1番目の入力部の基準部分操作コストは4であり、3番目の入力部の基準部分操作コストは2である。
次に、認証の具体例として、図5に示す入力部群110が操作される場合の例を説明する。図23Aは、第1認証条件〜第3認証条件の例を示す図である。第1認証条件における基準操作順序として、操作されるべき文字キーは1番目から順に、キーB2、キーB5、キーB7、キーB3であるとする。また、基準操作コストは10であるとする。そして、第2認証条件は、実際の操作コストが、基準操作コストの10以上であることとする。また、1番目の基準部分操作コストは4であり、3番目の基準部分操作コストは2であるとする。そして、第3認証条件は、1番目の実際の操作コストが4以上であり、且つ、3番目の実際の操作コストが2以上であることとする。
図23B及び図23Cは、入力部群110の操作により実際に入力された認証用文字列、操作順序、操作コストの例を示す。図23Bの例では、認証用文字列は「clsE」である。この場合の操作順序は、キーB2、キーB5、キーB7及びキーB3である。また、実際の操作コストの総和は、3+3+4+5=15である。従って、第1認証条件及び第2認証条件は満たされる。しかしながら、1番目の実際の操作コストの3が、基準部分操作コストの4未満である。従って、第3認証条件が満たされないので、認証は拒否される。
図23Cの例では、認証用文字列は「2jqd」である。この場合の操作順序は、キーB2、キーB5、キーB7及びキーB3である。また、実際の操作コストの総和は、7+1+2+1=11である。1番目の実際の操作コストの8が、基準部分操作コストの4より大きく、3番目の実際の操作コストの2が、基準部分操作コストの2と一致する。従って、第1認証条件〜第3認証条件の全てが満たされる。そのため認証は許可される。
図24は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の第2認証条件判定処の一例を示すフローチャートである。図24において、図12と同様の処理については同様の符号が付されている。以下に説明する処理例は、第3認証条件が、実際の操作コストが基準部分操作コスト以上であることと定義されている場合の動作例である。
図24に示すように、システム制御部16は、ステップS31〜S36を第1実施形態と同様に実行する。ステップS36の後、認証部163は、ユーザ端末2から取得されたユーザIDに対応する基準部分操作コスト情報をユーザ情報DB3から取得する。或いは、認証部163は、ユーザ端末2から取得されたセッションIDに対応するユーザIDをRAM16cから取得する。そして、認証部163は、取得されたユーザIDに対応する基準部分操作コスト情報をユーザ情報DB3から取得する。次いで、認証部163は、取得した基準部分操作コスト情報から、基準部分操作コスト(i)を取得する。基準部分操作コスト(i)は、基準部分操作コスト情報に含まれる基準部分操作コストのうちi番目の基準部分操作コストである。次いで、認証部163は、基準部分操作コスト(i)が設定されているか否かを判定する(ステップS91)。このとき、認証部163は、基準部分操作コスト(i)が設定されていないと判定した場合には(ステップS91:NO)、ステップS37に進む。システム制御部16は、ステップS37〜S43を第1実施形態の場合と同様に実行する。
一方、認証部163は、基準部分操作コスト(i)が設定されていると判定した場合には(ステップS91:YES)、ステップS92に進む。
ステップS92において、認証部163は、ステップS36で取得された入力コストが基準部分操作コスト(i)以上であるか否かを判定する。このとき、認証部163は、入力コストが基準部分操作コスト(i)以上であると判定した場合には(ステップS92:YES)、ステップS37に進む。一方、認証部163は、入力コストが基準部分操作コスト(i)以上ではないと判定した場合には(ステップS92:NO)、ステップS43に進む。そして、認証部163は、判定結果を「NG」に設定して、第2認証条件判定処理を終了させる。
なお、認証装置1が端末装置である場合の処理は、上述した処理と同様であってもよい。
以上説明したように、本実施形態によれば、第1認証条件、第2認証条件、及びユーザにより操作された2以上の入力部のうち所定の順番で操作された入力部の操作コスト基準部分操作コストと一致するという第3認証条件が満たされる場合、システム制御部16が認証の許可を決定する。或いは、第1認証条件、第2認証条件、及びユーザにより操作された2以上の入力部のうち所定の順番で操作された入力部の操作コスト基準部分操作コスト以上であるという第3認証条件が満たされる場合、システム制御部16が認証の許可を決定する。従って、所定の順番の入力部の操作に費やすべき操作コストが、認証を許可する条件として追加される。そのため、安全性を更に高めることができる。
[7.第7実施形態]
次に、第7実施形態について図25乃至図29を用いて説明する。本実施形態において、認証装置1は、操作パターンを入力するための入力部群に対するユーザの操作内容に基づいて、認証を行う。以下に説明する点を除き、第7実施形態は、第1実施形態、第5実施形態又は第6実施形態と基本的に同様である。
図25は、パターン入力画面140の一例を示す図である。本実施形態において、操作順序情報取得部161は、認証画面100ではなく、パターン入力画面140を表示させる。パターン入力画面140は、操作パターンを入力するための画面である。パターン入力画面140では、例えば文字を入力することはできない。操作パターンは、入力部の操作順序及び各入力部の操作内容を含む。パターン入力画面140は、操作領域A1〜A9を含む。操作領域A1〜A9のそれぞれは入力部の一例である。操作領域A1〜A9により入力部群が構成される。なお、パターン入力画面140に表示される操作領域の数は、例えば9個未満であってもよいし、9個よりも多くてもよい。指、スタイラスペン等の指示物が操作領域A1〜A9の何れかに接触すると、ユーザ端末2は、接触された操作領域に対するユーザの操作を検知する。ユーザは、例えばパターン入力画面140に指示物をスライドさせながら、指示物を操作領域A1〜A9のうち2以上の操作領域に順次接触させてもよい。或いは、ユーザは、操作領域A1〜A9のうち2以上の操作領域を順次タップして選択してもよい。このようにして、パターンが入力される。例えば、指示物がパターン入力画面140が離れてから所定時間が経過すると、入力されたパターンが確定してもよい。なお、パターン入力画面140は、例えば更にユーザID入力領域、及び認証ボタンを含んでもよい。
指示物が接触した操作領域の順序が、入力部の操作順序に相当する。各操作領域の操作コストは、例えば操作領域に指示物が接触した継続時間、同一の操作領域が連続してタップされた回数等に基づいて決定されてもよい。例えば、操作領域に指示物が接触した継続時間が長いほど、その操作領域の操作コストが大きくなってもよい。操作領域に指示物が接触した継続時間は、入力部に対する操作の継続時間の一例である。しかしながら、操作コストとしての継続時間が取得される操作は、操作領域に指示物を接触させることに限られない。また例えば、同一の操作領域が連続してタップされた回数が多いほど、その操作領域の操作コストが大きくなってもよい。
本実施形態の場合、記憶部12には、入力部決定テーブル及び入力コスト決定テーブルは記憶されなくてもよい。
次に、操作順序及び操作コストの取得と認証の具体例を説明する。図26Aは、第1認証条件及び第2認証条件の例を示す図である。第1認証条件における基準操作順序として、操作されるべき操作領域は1番目から順に、操作領域A5、操作領域A8、操作領域A1、操作領域A2であるとする。また、基準操作コストは10であるとする。そして、第2認証条件は、実際の操作コストが、基準操作コストの10以上であることとする。また、操作領域に指示物が接触した継続時間の1秒ごとに、1の操作コストが費やされるものとする。
図26B〜図26Dは、パターン入力画面140の操作により実際に入力された操作パターン、操作コストの例を示す。図26Bの例では、1番目に指示物が操作領域A5に2秒間接触し、2番目に指示物が操作領域A4に5秒間接触し、3番目に指示物が操作領域A4に1秒間接触し、4番目に指示物が操作領域A2に3秒間接触している。この場合、3番目に接触された操作領域が操作領域A1ではない。従って、第1認証条件が満たされないので、認証は拒否される。なお、操作コストは、2+5+1+3=11であるので、第2認証条件は満たされる。
図26Cの例では、1番目に指示物が操作領域A5に3秒間接触し、2番目に指示物が操作領域A8に2秒間接触し、3番目に指示物が操作領域A1に2秒間接触し、4番目に指示物が操作領域A2に2秒間接触している。従って、第1認証条件は満たされる。一方、操作コストは、3+2+2+2=9である。従って、第2認証条件が満たされないので、認証は拒否される。
図26Dの例では、1番目に指示物が操作領域A5に2秒間接触し、2番目に指示物が操作領域A8に4秒間接触し、3番目に指示物が操作領域A1に5秒間接触し、4番目に指示物が操作領域A2に1秒間接触している。従って、第1認証条件は満たされる。一方、操作コストは、2+4+5+1=12である従って、第2認証条件が満たされる。そのため、認証は許可される。
図27は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の認証処理の一例を示すフローチャートである。図27において、図10と同様の処理については同様の符号が付されている。図27に示すように、操作順序情報取得部161は、パターン入力画面140のウェブページをユーザ端末2に出力する(ステップS101)。ユーザ端末2は、ウェブページに基づいてパターン入力画面140を表示する。ユーザは、パターン入力画面140を操作することにより操作パターンを入力し、ユーザ端末2は、操作パターン情報を生成する。操作パターン情報は、入力された操作パターンを示す情報である。具体的に、操作パターン情報は、操作された操作領域ごとに、位置番号、操作入力部ID、操作コストが対応付けて登録される。操作入力部IDは、操作された操作領域の入力部IDである。なお、操作コストに代えて、例えば操作領域に指示物が接触した継続時間、操作領域が連続してタップされた回数等が操作パターン情報に登録されてもよい。操作パターンの入力が終わると、ユーザ端末2は、生成した操作パターン情報を認証装置1へ送信し、操作順序取得部161は、操作パターン情報を通信部11を介して取得する(ステップS102)。
次いで、認証部163は、第1認証条件判定処理を実行する(ステップS103)。図28は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の第1認証条件判定処の一例を示すフローチャートである。図28において、図11と同様の処理については同様の符号が付されている。図28に示すように、システム制御部16は、ステップS11及びS12を実行する。
次いで、操作順序情報取得部161は、取得した操作パターン情報から、操作入力部ID(i)を取得する(ステップS111)。操作入力部ID(i)は、操作パターン情報に含まれる操作入力部IDのうちi番目の操作入力部IDである。次いで、認証部163は、操作入力部ID(i)が、基準操作順序情報の入力部ID(i)と一致するか否かを判定する(ステップS112)。このとき、操作順序情報取得部161は、操作入力部ID(i)が、基準操作順序情報の入力部ID(i)と一致すると判定した場合には(ステップS112:YES)、ステップS113に進む。一方、操作順序情報取得部161は、操作入力部ID(i)が、基準操作順序情報の入力部ID(i)と一致しないと判定した場合には(ステップS112:NO)、ステップS16を実行して、第1認証条件判定処理を終了させる。
ステップS113において、認証部163は、位置番号iが、操作パターン情報に含まれる操作入力部IDの数の値未満であるか否かを判定する。このとき、認証部163は、位置番号iが、操作パターン情報に含まれる操作入力部IDの数の値未満であると判定した場合には(ステップS113:YES)、ステップS18に進む。そして、認証部163は、第1実施形態の場合と同様に、ステップS18の判定結果に基づいて、ステップS16又はS19を実行する。ステップS19を終えると、認証部163は、ステップS111に進む。一方、認証部163は、位置番号iが、操作パターン情報に含まれる操作入力部IDの数の値未満ではないと判定した場合には(ステップS113:NO)、ステップS20に進む。そして、認証部163は、第1実施形態の場合と同様に、ステップS20の判定結果に基づいて、ステップS16又はS21を実行して、第1認証条件判定処理を終了させる。
第1認証条件判定処理が終了すると、認証部163は、図10に示すように、判定結果が「OK」であるか否かを判定する(ステップS4)。このとき、認証部163は、判定結果が「OK」ではないと判定した場合には(ステップS4:NO)、ステップS5を実行して、認証処理を終了させる。一方、認証部163は、判定結果が「OK」であると判定した場合には(ステップS4:YES)、ステップ104に進む。
ステップS104において、認証部163は、第2認証条件判定処理を実行する。図29は、本実施形態に係る情報処理システムSAの認証装置1のシステム制御部16の第2認証条件判定処の一例を示すフローチャートである。図29において、図12と同様の処理については同様の符号が付されている。図29に示すように、システム制御部16は、ステップS31を実行する。次いで、操作コスト取得部162は、操作パターン情報から操作コスト(i)を取得する(ステップS121)。操作コスト(i)は、操作パターン情報に含まれる操作コストのうちi番目の操作コストである。操作パターン情報に、継続時間又はタップされた回数が登録されている場合、操作コスト取得部162は、継続時間又はタップされた回数を、操作コストに変換する。次いで、操作コスト取得部162は、操作コストの総和に操作コスト(i)を加算する(ステップS122)。
次いで、操作コスト取得部162は、位置番号iが、操作パターン情報に含まれる操作入力部IDの数の値未満であるか否かを判定する(ステップS123)。このとき、操作コスト取得部162は、位置番号iが、操作パターン情報に含まれる操作入力部IDの数の値未満であると判定した場合には(ステップS123:YES)、ステップS39を実行して、ステップS121に進む。一方、操作コスト取得部162は、位置番号iが、操作パターン情報に含まれる操作入力部IDの数の値未満ではないと判定した場合には(ステップS123:NO)、ステップS40に進む。そして、認証部163は、第1実施形態の場合と同様に、ステップS40〜S43を実行して、第1認証条件判定処理を終了させる。
なお、認証装置1が端末装置である場合の処理は、上述と基本的に同様である。ただし、システム制御部16は、パターン入力画面140を表示部14に出力する。また、システム制御部16は、操作部13に対するユーザの操作に基づいて、操作パターン情報を生成することにより、実際の操作順序及び操作コストを取得する。
以上説明したように、本実施形態によれば、システム制御部16が、入力部に対する操作の継続時間に基づいて、その入力部の操作コストを取得する。従って、入力部に対する操作を継続させることが可能な場合に、操作コストを適切に取得することができる。