【文献】
MANNAN, M., et al.,Passwords for Both Mobile and Desktop Computers: ObPwd for Firefox and Android,;login:,2012年 8月,Vol. 37, No. 4,pp. 28-37,[retrieved on 2014-09-17.] Retrieved from the Internet,URL,https://www.usenix.org/publications/login/august-2012-volume-37-number-4/passwords-both-mobile-and-desktop-computers-obpwd
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0030】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、複数の文字コードを含むパスワードを用いた認証を行う認証装置に対して本発明を適用した場合の実施形態である。データとしてのパスワードは、実際には文字を示す文字コードを含む。ただし、実施形態においては、説明の便宜上、文字コードのことも単に文字と称する。また、実施形態においては、記号も文字に含まれるものとする。
【0031】
[1.第1実施形態]
認証装置は、パスワードを用いたユーザ認証を行うコンピュータである。また、認証装置は、新しいパスワードを登録又は設定するときに、パスワードの適否を判定する。認証装置は、例えばサーバ装置であってもよいし、端末装置であってもよい。先ずは認証装置がサーバ装置に適用された場合について説明し、最後に認証装置が端末装置に適用された場合について説明する。
【0032】
[1−1.情報処理システムの概要]
先ず、本実施形態に係る情報処理システムS1の概要について、
図1Aを用いて説明する。
図1Aは、認証装置1をサーバ装置に適用した場合の情報処理システムS1の概要構成の一例を示す図である。
【0033】
図1Aに示すように、情報処理システムS1は、サーバ装置としての認証装置1と複数のユーザ端末2とを含んで構成されている。そして、認証装置1と各ユーザ端末2とは、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
【0034】
認証装置1は、例えば、情報処理システムS1を利用するユーザへ所定のサービスを提供するための処理を行うサーバ装置であってもよい。或いは、認証装置1は、例えば情報処理システムS1で提供されるサービスをユーザが受けるためのユーザ認証を行う認証サーバであってもよい。認証装置1は、ユーザ情報DB3にアクセス可能に構成されている。ユーザ情報DB3は、情報処理システムS1に会員登録されたユーザに関する情報を登録するデータベースである。例えば、ユーザ情報DB3には、ユーザごとにユーザID、パスワード等が対応付けて登録されている。ユーザIDは、ユーザの識別情報である。パスワードは、本発明における認証情報の一例である。情報処理システムS1自身がユーザ情報DB3を備えてもよいし、情報処理システムS1とユーザ情報DB3がネットワークを介して接続されてもよい。ユーザを認証するとき、認証装置1は、ユーザ端末2からユーザID及びパスワードを受信する。認証装置1は、例えば受信したユーザIDに対応するパスワードをユーザ情報DB3から取得し、取得したパスワードと受信したパスワードとが一致するか否かを判定する。認証装置1は、パスワードが一致する場合には、認証が成功したと判定し、パスワードが一致しない場合には、認証が失敗したと判定する。認証が成功することにより、ユーザは情報処理システムS1にログインする。
【0035】
ユーザ端末2は、情報処理システムS1を利用しようとするユーザが用いる端末装置である。本実施形態においてユーザは、特定の種類の端末装置を用いてのみ情報処理システムS1を利用可能である。端末装置の種類の例として、スマートフォン、タブレット型コンピュータ、携帯電話機、パーソナルコンピュータ、PDA(Personal Digital Assistant)、STB(Set Top Box)等がある。また、機種、商品シリーズ等で端末装置の種類が分けられてもよい。ユーザ端末2は、例えばCPU、ROM、RAM、フラッシュメモリ、ハードディスクドライブ等を備えてもよい。また、ユーザ端末2には、例えばブラウザ、電子メールクライアント等のソフトウェアがインストールされている。ユーザ端末2は、ユーザに対してパスワードの入力環境を提供する。パスワードの入力環境とは、例えばパスワードに用いることが可能な文字を入力するためのユーザインターフェースである。本実施形態においては、情報処理システムS1を利用する複数のユーザ端末2の間で入力環境は同一であり、また単一の入力環境のみが利用されるものとする。
【0036】
例えばユーザが情報処理システムS1に会員登録するとき、認証装置1は、そのユーザのユーザID及びパスワードをユーザ情報DB3に登録する。また例えば、ユーザがパスワードを変更するとき、認証装置1は、新しいパスワードをユーザ情報DB3に登録する。このとき、認証装置1は、所定の登録要件を満たすパスワードのみを登録する。登録要件とは、登録又は設定可能なパスワードとして新しいパスワードが情報処理システムS1によって受け入れられる条件である。具体的に、登録要件は、パスワードの複雑性の条件である。この登録要件により、登録されるパスワードが所定の複雑性を有し、パスワードが或る程度の強度を有することになる。例えば、情報処理システムS1の管理者により登録要件が予め定められていてもよい。登録要件は、例えばパスワードの文字数が所定数以上であることであってもよい。また登録要件は、例えばパスワードの文字数が第1所定数以上であり且つ第2所定数以下であることであってもよい。また登録要件は、例えばパスワードに含まれる文字の種類が所定数以上であることであってもよい。また登録要件は、例えばパスワードに含まれる文字が所定の種類の文字を必ず含むことであってもよい。また登録要件は、例えば複数の条件の組み合わせであってもよい。管理者はパスワードに用いることが可能な文字種を自由に決めることができる。文字種として、例えば、英小文字、英大文字、数字、記号、マルチバイト文字等がある。マルチバイト文字として、例えば、漢字、ひらがら、片仮名などがある。なお、本実施形態においては、一例として英小文字、英大文字及び数字を利用可能であるものとして説明する。
【0037】
ユーザがパスワードを入力するとき、例えば、入力する文字によって入力負担が小さかったり大きかったりする。そのため、同じ登録要件を満たすパスワードの間においても、パスワードによってユーザによる入力負担が異なることがある。パスワードの入力負担が過度に大きいと、ユーザにとってパスワードの入力操作が面倒となる。その一方で、パスワードの入力負担が小さいと安全性が低下するおそれがある。その理由は、第三者がユーザのパスワードを割り出そうとするとき、例えば総当たり攻撃などで入力負担が小さいパスワードから試す可能性があるからである。そこで、認証装置1は、安全性を確保しつつパスワードの入力負担が適切な範囲となるよう、パスワードの入力コストに基づいて、そのパスワードの適否を判定する。入力コストは、例えば入力負担を示す値である。入力負担が大きいほどパスワードの入力負担が大きい。本実施形態においては、認証装置1は、ユーザにより入力されたパスワードの適否を判定する。
【0038】
[1−2.認証装置の構成]
次に、認証装置1の構成について、
図2Aを用いて説明する。
図2Aは、本実施形態に係る認証装置1の概要構成の一例を示すブロック図である。
図2Aに示すように、認証装置1は、通信部11と、記憶部12と、操作部13と、表示部14と、入出力インターフェース15と、システム制御部16と、を備えている。そして、システム制御部16と入出力インターフェース15とは、システムバス17を介して接続されている。
【0039】
通信部11は、ネットワークNWに接続して、ユーザ端末2等との通信状態を制御する。記憶部12は、データやプログラムを記憶する。記憶部12の例として、ハードディスクドライブ、フラッシュメモリ等が挙げられる。記憶部12には、例えばユーザ情報DB3が記憶されていてもよい。また記憶部12には、入力コストテーブルが記憶されている。入力コストテーブルは、パスワードに用いられる文字の入力コストの決定規則を示す情報である。具体的に、入力コストテーブルは、パスワードに用いられる文字の入力コストを格納するテーブルである。記憶部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と異なる様々なメモリに対しても適用可能である。
【0040】
[1−3.システム制御部の機能概要]
次に、
図2B乃至
図3Bを用いて、システム制御部16の機能概要について説明する。
図2Bは、本実施形態に係る認証装置1のシステム制御部16の機能ブロックの一例を示す図である。システム制御部16は、CPU16aが、認証処理プログラム等のプログラムを読み出し実行することにより、
図2Bに示すように、パスワード取得部161、文字入力コスト取得部162、パスワード入力コスト算出部163、適否判定部164、出力部165等として機能する。パスワード取得部161は、本発明における認証情報取得手段の一例である。文字入力コスト取得部162は、本発明におけるコスト取得手段の一例である。パスワード入力コスト算出部163は、本発明における算出手段の一例である。適否判定部164は、本発明における判定手段の一例である。出力部165は、本発明における出力手段の一例である。
【0041】
パスワード取得部161は、登録要件に従うパスワードを取得する。本実施形態において、パスワード取得部161は、ユーザにより入力されたパスワードをユーザ端末2から取得する。例えば、パスワード取得部161は、ユーザ端末2に登録情報入力画面を表示させる。登録情報入力画面においてユーザがユーザID及びパスワードを入力すると、ユーザ端末2はユーザID及びパスワードを認証装置1へ送信する。パスワード取得部161は、例えばユーザ端末2から受信したパスワードが登録要件を満たすか否かを判定する。パスワードが登録要件を満たさない場合、パスワード取得部161は、ユーザ端末2に再度パスワード入力画面を表示させ、ユーザ端末2からユーザにパスワードの再入力を促させる。また例えば、ユーザ端末2が、パスワードが登録要件を満たすか否かを判定してもよい。そして、ユーザ端末2は、入力されたパスワードが登録要件を満たす場合にのみ、パスワードを認証装置1へ送信してもよい。
【0042】
文字入力コスト取得部162は、パスワード取得部161により取得されたパスワードに含まれる複数の文字のそれぞれの入力コストを取得する。具体的に、文字入力コスト取得部162は、ユーザ端末2における入力環境に対応した入力コストを、入力コストテーブルから取得する。例えば、文字入力コスト取得部162は、入力された文字又は文字種に対応する入力コストを入力コストテーブルから取得する。また、例えば直前に入力された文字又は文字種によって次に入力される文字又は文字種の入力コストが変化してもよい。この場合、例えば、文字入力コスト取得部162は、直前の文字又は文字種と、次の文字又は文字種に対応する入力コストを入力コストテーブルから取得する。
【0043】
パスワード入力コスト算出部163は、文字入力コスト取得部162により取得された入力コストに基づいて、パスワードの入力コストを算出する。例えば、パスワード入力コスト算出部163は、パスワードに含まれる複数の文字の入力コストを足し合わせて、パスワードの入力コストを算出してもよい。入力環境、入力コストテーブル、パスワードの入力コストの算出の例については後述する。
【0044】
適否判定部164は、パスワード入力コスト算出部163により算出された入力コストに基づいて、パスワードの適否を判定する。具体的に、適否判定部164は、入力コストが予め定められた下限値以上であり且つ上限値以下である場合、パスワードが適切であると判定する。一方、適否判定部164は、入力コストが下限値未満であるか又は上限値よりも大きい場合、パスワードが適切ではないと判定する。下限値及び上限値は例えば記憶部12に記憶される。下限値及び上限値により、パスワードの入力コストが適切に保たれる。例えば情報処理システムS1の管理者が下限値及び上限値を決定してもよい。なお、適否判定部164は、例えば入力コストが下限値以上である場合はパスワードが適切であると判定し、入力コストが下限値未満である場合にのみパスワードが適切ではないと判定してもよい。
【0045】
出力部165は、適否判定部164によりパスワードが適切ではないと判定された場合、パスワードの再入力を促す情報を出力する。例えば、出力部165は、パスワードを再入力するための登録パスワード再入力画面をユーザ端末2により表示させる。
図3Aは、入力コストが下限値未満である場合のパスワード入力画面の表示例を示す。
図3Aに示すように、登録パスワード再入力画面には、パスワード入力フィールド201、登録ボタン202、メッセージ203が表示される。メッセージ203は、入力されたパスワードが適切ではないことを示す。例えば、メッセージ203は、例えば前回入力されたパスワードよりも入力しにくいパスワードの入力を促すメッセージであってもよい。
図3Bは、入力コストが上限値よりも大きい場合のパスワード入力画面の表示例を示す。
図3Bに示すように、登録パスワード再入力画面には、パスワード入力フィールド201、登録ボタン202、メッセージ204が表示される。メッセージ204は、入力されたパスワードが適切ではないことを示す。メッセージ204は、例えば前回入力されたパスワードよりも入力しやすいパスワードの入力を促すメッセージであってもよい。登録パスワード再入力画面において、ユーザがパスワード入力フィールド201にパスワードを入力して登録ボタン202を選択すると、ユーザ端末2は、入力されたパスワードを認証装置1へ送信する。すると、システム制御部16は、再入力されたパスワードの入力コストを算出して、パスワードの適否を判定する。なお、出力部165は、パスワードが不適切である場合であっても、パスワードの再入力をユーザに強制しなくてもよい。例えば、出力部165はパスワードが不適切であるメッセージをユーザ端末2に表示させる一方で、入力されたパスワードを登録するか又はパスワードを再入力するかをユーザに選択させてもよい。
【0046】
なお、システム制御部16は、例えばユーザがパスワードを構成する文字を一文字ずつ入力するごとに、現時点で入力されているパスワードが登録要件を満たすか否かを判定し、また現時点で入力されているパスワードの適否を判定してもよい。このとき、システム制御部16は、例えばパスワードの適否を判定するたびに、その判定結果を登録情報入力画面に表示させてもよい。
【0047】
[1−4.入力コストテーブル、入力コストの算出の例]
次に、入力コストテーブルの例及び入力コストの算出例を、
図4A乃至
図7を用いて説明する。
【0048】
[1−4−1.入力手段群の切り替えが可能な入力環境]
入力環境が、入力可能な複数の文字がそれぞれ割り当てられた複数の入力手段群の中から入力に用いられる入力手段群の切り替えが可能な環境である場合がある。この場合、入力コストテーブルは、パスワードに含まれる複数の文字のそれぞれを入力するための入力手段群の切り替え回数に基づく入力コストを格納してもよい。入力手段は、例えば文字を入力するための最小限の構成要素であってもよい。例えば、入力手段は、キー、ボタン、スイッチ等であってもよい。入力手段は、例えばハードウェアであってもよいし、ソフトウェア的に画面に表示されるものであってもよい。1つの入力手段群は、例えば入力可能な文字が1つ以上割り当てられている入力手段を複数含む。また、入力手段群は、文字が割り当てられていない入力手段も含んでいてもよい。そのような入力手段として、例えばシフトキー、エスケープキー、機能キー等がある。或る入力手段群に含まれる入力手段が操作された後、同一の入力手段群に含まれる別の入力手段を操作するためには、入力手段群を切り替えるための操作を要さない。
【0049】
図4Aは、ユーザ端末2が所定のスマートフォンである場合の入力環境の例を示す図である。例えば、或るスマートフォンは、ソフトウェアキーボードを画面に表示させるとする。ソフトウェアキーボードは、複数のキーを含む。ソフトウェアキーボードは、本発明における入力手段群の一例である。この場合のユーザ端末2は、ソフトウェアキーボーとして、例えば
図4Aに示すように小文字キーボード100、大文字キーボード110及び数字キーボード120を表示可能である。具体的に、ユーザ端末2は、ユーザの操作に基づき、入力に用いられるソフトウェアキーボードを切り替えて表示させる。
図4Aの例において、各ソフトウェアキーボードの各キーには、入力可能な文字が基本的に1文字割り当てられている。パスワードの入力開始時、ユーザ端末2は小文字キーボード100を表示する。小文字キーボード100は、英小文字を入力するためのキーボードである。従って、小文字キーボード100は、それぞれ英小文字が割り当てられた複数のキーを含む。更に小文字キーボード100は、切替キー101及び102を含む。ユーザが切替キー101を押すと、ユーザ端末2は、ソフトウェアキーボードを大文字キーボード110に切り替える。また、ユーザが切替キー102を押すと、ユーザ端末2は、ソフトウェアキーボードを数字キーボード120に切り替える。大文字キーボード110は、英大文字を入力するためのキーボードである。従って、大文字キーボード110は、それぞれ英大文字が割り当てられた複数のキーを含む。更に大文字キーボード110は、切替キー111及び112を含む。ユーザが切替キー111を押すと、ユーザ端末2は、ソフトウェアキーボードを小文字キーボード100に切り替える。また、ユーザが切替キー112を押すと、ユーザ端末2は、ソフトウェアキーボードを数字キーボード120に切り替える。また、ユーザが何れかのキーを選択して大文字を一文字入力すると、ユーザ端末2は、ソフトウェアキーボードを小文字キーボード100に切り替える。数字キーボード120は、数字及び記号を入力するためのキーボードである。従って、数字キーボード120は、それぞれ数字又は記号が割り当てられた複数のキーを含む。更に数字キーボード120は、切替キー121を含む。ユーザが切替キー121を押すと、ユーザ端末2は、ソフトウェアキーボードを小文字キーボード100に切り替える。
【0050】
図4Bは、ユーザ端末2が所定のスマートフォンである場合の入力コストテーブルの例を示す図である。パスワードの入力に用いられるソフトウェアキーボードの切替が可能である場合、各文字の入力コストは、その文字の入力に用いられるソフトウェアキーボードと、直前の文字の入力に用いられるソフトウェアキーボードとに応じて変化する。具体的に、ソフトウェアキーボードを切り替える回数が異なる。そこで、例えば入力コストテーブルには、文字を入力するためにソフトウェアキーボードを切り替える操作の回数に応じたコストがその文字の入力コストとして格納される。
図4Aの例の場合、直前に入力された文字の文字種と次に入力される文字の文字種とに応じて、次の文字の入力コストが変化する。そこで、例えば
図4Bに示すように、入力コストテーブルには、直前の文字の文字種と次の文字の文字種とに対応付けて、次の文字の文字種の入力コストが格納される2次元配列であってもよい。
図4Bの例では直前の文字種が行に対応し次の文字種が列に対応しているが、直前の文字種が列に対応し次の文字種が行に対応してもよい。
図4Bの例では、キーの1回の操作につき1の入力コストがかかるものとしている。パスワードの一文字目を入力するとき、すなわち、直前に入力されている文字がないとき、画面には小文字キーボード100が表示されている。従って、英小文字を入力する場合、ユーザは、小文字キーボード100上の所望のキーを押す操作を行えばよい。そこで、この場合の英小文字の入力コストが1となる。一方、英大文字又は数字を入力する場合、ユーザは、切替キー101又は102を操作して、ソフトウェアキーボードを切り替えてから、所望のキーを選択操作する必要がある。従って、英大文字及び数字の入力コストはそれぞれ1となる。直前に入力された文字が小文字である場合、画面には小文字キーボード100が表示されている。従って、この場合の英小文字、英大文字及び数字の入力コストもそれぞれ1、2、2である。また、直前に入力された文字が大文字である場合、大文字が入力されることにより、大文字キーボード110から小文字キーボード100に切り替わる。従って、この場合の英小文字、英大文字及び数字の入力コストもそれぞれ1、2、2である。直前に入力された文字が数字である場合、画面には数字キーボード120が表示されている。従って、小文字を入力する場合、ユーザは、切替キー121を操作してソフトウェアキーボード英小文字キーボード100に切り替えてから、所望のキーを選択操作する必要がある。従って、英小文字の入力コストは2となる。また、英大文字を入力する場合、ユーザは、切替キー121を操作してソフトウェアキーボード英小文字キーボード100に切り替え、更に切替キー101を操作してソフトウェアキーボード英大文字キーボード110に切り替えてから、所望のキーを選択操作する必要がある。従って、英大文字の入力コストは3となる。また、数字の入力コストは1となる。
【0051】
例えば、パスワードが「oJ3X70c」であるとする。この場合、「o」から「c」までの文字の入力コストはそれぞれ1、2、2、3、2、1、2である。従って、パスワードの入力コストは13である。
【0052】
図4Cは、ユーザ端末2が所定のスマートフォンである場合の入力コストテーブルの別の例を示す図である。
図4Cに示すように、入力コストテーブルには、直前に入力された文字と次に入力された文字とに対応付けて入力コストが格納されてもよい。入力コストテーブルが
図4Bと
図4Cの何れであっても、パスワードの入力コストは同じである。
【0053】
[1−4−2.文字によって操作回数が異なる入力環境]
入力環境が、入力される文字によって入力手段の操作回数が異なる環境である場合がある。この場合、入力コストテーブルは、パスワードに含まれる複数の文字のそれぞれを入力するための操作回数に基づく入力コストを格納してもよい。文字を入力するための操作として、例えば入力手段を押す操作、入力手段を動かす操作等がある。また、画面に表示される入力手段の操作として、例えば入力手段を指又はペンで押す操作、押した指又はペンをスライドさせる操作、押した指又はペンを払う操作、タップ、クリック、ドラッグ等がある。
【0054】
図5Aは、ユーザ端末2が所定の携帯電話機である場合の入力環境の例を示す図である。或る携帯電話機は文字を入力するための複数のキーを備える。例えばユーザ端末2は、
図5Aに示すような操作部130を備える。なお、例えば
図5Aに示すようなソフトウェアキーボードが画面に表示されてもよい。操作部130は、複数の文字がそれぞれ割り当てられた複数のキーを含む。操作部130においては、ユーザが同一のキーを連続して押した回数に応じて、入力される文字が変わる。更に操作部130は確定キー132を含む。確定キー132は、文字の入力を確定するためのキーである。例えばユーザが操作部130のキー131を1回押すごとに、「a」、「b」、「c」、「A」、「B」、「C」、「2」と、入力される文字が変化する。ユーザが確定キー132を押すか又はキー131とは別のキーを押すと、入力が確定する。
【0055】
図5Bは、ユーザ端末2が所定の携帯電話機である場合の入力コストテーブルの例を示す図である。
図5Aの例の場合、文字によって入力操作の回数が変化する。例えば、「a」を入力するための操作は1回であり、「2」を入力するための操作は7回である。操作の回数が多いほど入力コストが大きい。また、直前の文字のキーと次の文字のキーとが同一である場合、ユーザは、直前の文字を確定するため確定キー132を押す必要がある。そのため、直前の文字のキーと次の文字のキーに応じても入力操作の回数が異なる。そこで、入力コストテーブルには、
図5Bに示すように、直前の文字と次の文字に対応付けて、入力操作の回数に応じた次の文字の入力コストが格納される。
図5Bの例では、キーの1回の操作につき1の入力コストがかかるものとしている。例えば、パスワードの一文字目として「a」を入力するためのコストは1である。また、「2」の入力コストは7である。直前の文字「a」である場合において、次に「a」を入力するためのコストは2である。直前の文字「a」である場合において、次に「d」を入力するためのコストは1である。
【0056】
例えば、パスワードが「cBx9y6」であるとする。この場合、「c」から「6」までの文字の入力コストはそれぞれ3、5、2、10、4、7である。従って、パスワードの入力コストは31である。
【0057】
図6Aは、ユーザ端末2が、フリック入力が可能なスマートフォンである場合の入力環境の例を示す図である。例えば、別の或るスマートフォンは、フリック入力が可能なソフトウェアキーボードを画面に表示させるとする。この場合のユーザ端末2は、ソフトウェアキーボーとして、例えば
図6Aに示すように小文字・数字キーボード130及び大文字キーボード140を表示可能である。小文字・数字キーボード130及び大文字キーボード140の各文字キーには複数の文字が割り当てられている。小文字・数字キーボード130は、英小文字及び数字を入力するためのキーボードである。例えば、ユーザが小文字・数字キーボード130のキー131をタップすると、「a」が入力される。タップとは、指でキーを押して離す操作である。ユーザがキー131をフリックすると、「a」とは異なる文字が入力される。フリックとは、指でキーを押して、押した指を何れかの方向に払う操作である。例えば、ユーザが指を左に払うと、「b」が入力される。また、ユーザが指を上に払うと、「c」が入力される。また、ユーザが指を下に払うと、「2」が入力される。小文字・数字キーボード130は更に切替キー132を含む。ユーザが切替キー132を押すと、ユーザ端末2は、ソフトウェアキーボードを大文字キーボード140に切り替える。大文字キーボード140は、英大文字を入力するためのキーボードである。大文字キーボード140においても小文字・数字キーボード130と同様の操作が可能である。大文字キーボード140は更に切替キー141を含む。ユーザが切替キー141を押すと、ユーザ端末2は、ソフトウェアキーボードを小文字・数字キーボード130に切り替える。
【0058】
図6Bは、ユーザ端末2が、フリック入力が可能なスマートフォンである場合の入力コストテーブルの例を示す図である。フリック入力が可能である場合、文字によって操作の回数が異なる。具体的に、タップの場合、ユーザはキーを一瞬押すという操作を行えばよい。つまり、タップは1つの操作のみを含む。一方、フリックの場合、ユーザはキーを押す操作と、押した指を払う操作を行う必要がある。すなわち、フリックは2つの操作を含む。操作回数が多いほど、入力コストが大きい。また、直前の文字の文字種と次の文字の文字種に応じて、ソフトウェアキーボードの切替操作が必要であるか否かが異なる。そこで、例えば
図6Bに示すように、入力コストテーブルには、直前の文字の文字種と次の文字とに対応付けて、次の文字の入力コストが格納されてもよい。例えば、ソフトウェアキーボードの切替操作が不要である場合に、タップで入力される文字の入力コストは1であり、フリックで入力される文字の入力コストは2である。ソフトウェアキーボードの切替操作が必要である場合、タップで入力される文字の入力コストは2であり、フリックで入力される文字の入力コストは3である。
【0059】
例えば、パスワードが「jZx9ra」であるとする。この場合、「j」から「a」までの文字の入力コストはそれぞれ1、3、3、2、2、1である。従って、パスワードの入力コストは12である。
【0060】
例えば、パスワードに用いる文字としてマルチバイト文字が許容されている場合、一般的には文字ごとに操作回数が異なる。例えば、QWERTY配列のキーボードでマルチバイト文字を入力すると仮定する。この場合、「あ」を入力するには、「a」のキーを押す必要がある。また、「か」を入力するには、「k」のキーと「a」のキーを押す必要がある。また、「亜」を入力するには、「a」のキーを押した後にスペースキーを1回以上押す必要がある。そのため、入力コストテーブルは、例えば、マルチバイト文字に対応付けて、操作回数に応じた入力コストを格納する一次元配列であってもよい。
【0061】
[1−4−3.入力手段の位置によって入力負担が異なる入力環境]
入力環境が、入力手段群における入力手段の位置又は複数の入力手段の配置によって文字の入力負担が異なる環境である場合がある。この場合、入力コストテーブルは、パスワードに含まれる複数の文字のそれぞれを入力するための入力手段の位置に基づく入力コストを格納してもよい。
【0062】
図7は、ユーザ端末2がパーソナルコンピュータである場合の入力コストテーブルの例を示す図である。パーソナルコンピュータにおいては、一般的にQWERTY配列のキーボードが利用されている。このようなキーボードの場合、一般的にユーザは両手の指を使って文字を入力する。またキーの配列に基づき、どの指でどのキーを押すかが決まっている。例えばこのような場合、文字が割り当てられたキーの位置に応じて入力コストが変化する場合がある。例えば、ユーザが同一の指で異なるキーを連続して押す場合、ユーザが別々の指で異なるキーを連続して押す場合よりも、入力コストが大きい。例えば、ユーザが「a」の次に「q」を入力する場合、「a」の次に「r」を入力する場合よりも、ユーザは入力操作がしにくい。そこで、入力コストテーブルには、
図6に示すように、直前の文字と次の文字に対応付けて、直前の文字が割り当てられたキーと次の文字が割り当てられたキーとの配置に応じた次の文字の入力コストが格納される。例えば、直前の文字が割り当てられたキーと次の文字が割り当てられたキーとが同じ指で押される異なるキーである場合、異なる指で押されるキーである場合よりも、入力コストが0.5大きくなっている。例えば、直前の文字が「c」である場合に次に「c」を入力するコストは1であるが、直前の文字が「d」である場合に次に「c」を入力するコストは1.5である。また、このようなキーボードの場合、文字によってキーを押す操作の回数が異なる。例えば、英小文字及び数字は、文字キーを1回押すだけ入力可能である。一方、英大文字の場合は、シフトキーと文字キーとの両方を押す必要がある。つまり2回の操作が必要である。従って、文字によってキーの操作回数が異なる。例えば、直前の文字が「a」である場合に次に「A」を入力するためのコストは2である。また、直前の文字が「H」である場合に次に「A」を入力するためのコストも2である。一方、直前の文字が「A」である場合に次に「A」を入力するためのコストは1である。その理由は、この場合シフトキーは押したままでよいからである。
【0063】
例えば、パスワードが「Np4dMu7」であるとする。この場合、「N」から「7」までの文字の入力コストはそれぞれ2、1、1、1、2、1.5、1.5である。従って、パスワードの入力コストは10である。
【0064】
なお、キーの位置に基づく入力コストについては上述した例に限られるものではない。例えば、直前の文字のキーと次の文字のキーとの距離に基づいて入力コストが決定されてもよい。例えば、ユーザが直前に押したキーの周辺に配置されているキーを押す場合、指を細かく動かす必要がある。そこで、次の文字のキーが直前の文字のキーに隣接している場合、隣接していない場合よりも入力コストが大きくてもよい。また、例えば、直前の文字のキーを操作する手と次の文字のキーを操作する手とに基づいて入力コストが決定されてもよい。例えば、両手で交互にキーを押すよりも、同一の手で連続してキーを押す方が入力しにくい。そこで、直前の文字のキーと次の文字のキーとが同じ手で操作される場合、異なる手で操作される場合よりも入力コストが大きくてもよい。また、キーに割り当てられた指に基づいて入力コストが決定されてもよい。例えば、一般的に人差し指よりも小指の方がキーの操作がし難い。そこで、例えば「4」、「r」、「f」、「v」の入力コストよりも、「1」、「q」、「a」、「z」の方の入力コストが大きくてもよい。また例えば、キーの位置による文字の入力負担は個人差が存在する場合がある。そこで、如何なる基準で入力コストを決定するかをユーザによって設定可能に認証装置1が構成されてもよい。この場合、例えば記憶部12に予め複数の入力コストテーブルが記憶されていてもよい。そして、文字入力コスト取得部162は、ユーザの設定に対応する入力コストテーブルを利用して入力コストを取得してもよい。
【0065】
上述した入力コストの値は例示である。文字の入力操作の負担に基づいた入力コストであれば、上述した例とは異なる値が入力コストテーブルに格納されてもよい。また例えば、直前に入力された文字が次に入力された文字の入力コストに影響しない場合、入力コストテーブルは、入力された文字に対応付けて入力コストを格納する一次元配列であってもよい。また、本発明は、上述した入力環境以外にも、様々な入力環境に対して適用可能である。この場合、入力環境に応じた入力コストテーブルが記憶部12に記憶される。
【0066】
[1−5.情報処理システムの動作]
次に、情報処理システムS1の動作について、
図8乃至
図10を用いて説明する。
図8は、本実施形態に係る認証装置1のシステム制御部16の入力パスワード登録制御処理の一例を示すフローチャートである。登録情報入力画面においてユーザがユーザID及びパスワードを入力すると、ユーザ端末2は入力されたユーザID及びパスワードを含むパスワード登録要求を認証装置1に送信する。システム制御部16は、パスワード登録要求を受信したときに入力パスワード登録制御処理を開始させる。
図8に示すように、パスワード取得部161は、パスワード登録要求から、入力されたユーザID及びパスワードを取得する(ステップS1)。
【0067】
次いで、システム制御部16は、パスワード検査処理を実行する(ステップS2)。パスワード検査処理において、システム制御部16は、入力されたパスワードが登録要件を満たすか否かを判定する。また、システム制御部16は、パスワードの入力コストに基づいてパスワードの適否を判定する。
図9は、本実施形態に係る認証装置1のシステム制御部16の入力パスワード検査処理の一例を示すフローチャートである。
図9に示すように、パスワード取得部161は、入力されたパスワードが登録要件を満たすか否かを判定する(ステップS11)。このとき、パスワード取得部161は、パスワードが登録要件を満たさないと判定した場合には(ステップS11:NO)、ステップS12に進む。ステップS12において、パスワード取得部161は、パスワード検査処理における判定結果を「登録要件違反」に設定して、入力パスワード検査処理を終了させる。一方、パスワード取得部161は、パスワードが登録要件を満たすと判定した場合には(ステップS11:YES)、ステップS13に進む。
【0068】
ステップS13において、システム制御部16は、入力コスト算出処理を実行する。
図10は、本実施形態に係る認証装置1のシステム制御部16の入力コスト算出処理の一例を示すフローチャートである。
図10に示すように、パスワード入力コスト算出部163は、位置番号iを1に設定する。また、パスワード入力コスト算出部163は、パスワードの入力コストを0に設定する(ステップS21)。次いで、文字入力コスト取得部162は、位置番号iが1であるか否かを判定する(ステップS22)。このとき、文字入力コスト取得部162は、位置番号iが1であると判定した場合には(ステップS22:YES)、ステップS23に進む。ステップS23において、文字入力コスト取得部162は、直前文字を「該当なし」に設定して、ステップS25に進む。一方、字入力コスト取得部162は、位置番号iが1ではないと判定した場合には(ステップS22:NO)、ステップS24に進む。ステップS24において、文字入力コスト取得部162は、入力されたパスワードからi−1番目の文字を取得する。そして、文字入力コスト取得部162は、直前文字を、i−1番目の文字に設定する。次いで、文字入力コスト取得部162は、ステップS25に進む。
【0069】
ステップS25において、文字入力コスト取得部162は、入力されたパスワードからi番目の文字を取得する。そして、文字入力コスト取得部162は、次文字を、i番目の文字に設定する。次いで、文字入力コスト取得部162は、入力コストテーブルから、直前文字又は直前文字の文字種と、次文字又は次文字の文字種とに対応する入力コストを、次文字の入力コストとして取得する(ステップS26)。次いで、パスワード入力コスト算出部163は、入力コストテーブルから取得した入力コストをパスワードの入力コストに加算する(ステップS27)。
【0070】
次いで、パスワード入力コスト算出部163は、位置番号iが入力されたパスワードの文字数の値未満であるか否かを判定する(ステップS28)。このとき、パスワード入力コスト算出部163は、位置番号iがパスワードの文字数の値未満であると判定した場合には(ステップS28:YES)、ステップS29に進む。ステップS29において、パスワード入力コスト算出部163は、位置番号iに1を加算してステップS22に進む。一方、パスワード入力コスト算出部163は、位置番号iがパスワードの文字数の値未満ではないと判定した場合には(ステップS28:NO)、入力コスト算出処理を終了させる。
【0071】
入力コスト算出処理が終了すると、
図9に示すように、適否判定部164は、パスワードの入力コストが下限値未満であるか否かを判定する(ステップS14)。このとき、適否判定部164は、入力コストが下限値未満であると判定した場合には(ステップS14:YES)、ステップS15に進む。ステップS15において、適否判定部164は、判定結果を「不適切」に設定して、パスワード検査処理を終了させる。一方、適否判定部164は、入力コストが下限値未満ではないと判定した場合には(ステップS14:NO)、ステップS16に進む。
【0072】
ステップS16において、適否判定部164は、パスワードの入力コストが上限値よりも大きいか否かを判定する。このとき、適否判定部164は、入力コストが上限値よりも大きいと判定した場合には(ステップS16:YES)、ステップS15に進む。一方、適否判定部164は、入力コストが上限値よりも大きくはないと判定した場合には(ステップS16:NO)、ステップS17に進む。ステップS17において、適否判定部164は、判定結果を「適切」に設定して、パスワード検査処理を終了させる。
【0073】
パスワード検査処理が終了すると、
図8に示すように出力部165は、判定結果が「適切」に設定されている否かを判定する(ステップS3)。このとき、出力部165は、判定結果が「適切」に設定されていると判定した場合には(ステップS3:YES)、ステップS4に進む。ステップS4において、出力部165は、入力されたユーザID及びパスワードを対応付けてユーザ情報DB3に登録する。次いで、出力部165は、登録完了画面のウェブページをユーザ端末2に出力して(ステップS5)、入力パスワード登録制御処理を終了させる。ユーザ端末2は、認証装置1から受信したウェブページに基づいて登録完了画面を表示する。登録完了画面は、入力されたパスワードが適切であったことを示す。例えば登録完了画面には、ユーザID及びパスワードの登録が完了したことを示すメッセージが表示される。
【0074】
ステップS3において、出力部165は、判定結果が「適切」に設定されていないと判定した場合には(ステップS3:NO)、ステップS6に進む。ステップS6において、出力部165は、出力部165は、判定結果が「不適切」に設定されているか否かを判定する。このとき、出力部165は、判定結果が「不適切」に設定されていると判定した場合には(ステップS6:YES)、ステップS7に進む。ステップS7において、出力部165は、パスワードが不適切であることを示す登録パスワード再入力画面のウェブページをユーザ端末2に出力して、入力パスワード登録制御処理を終了させる。ユーザ端末2は、受信したウェブページに基づいて、
図3A又は
図3Bに示すような登録パスワード再入力画面を表示する。
【0075】
一方、出力部165は、判定結果が「不適切」に設定されていないと判定した場合には(ステップS6:NO)、ステップS8に進む。ステップS8において、出力部165は、パスワードが登録要件を満たさないことを示す登録パスワード再入力画面のウェブページをユーザ端末2に出力して、入力パスワード登録制御処理を終了させる。
【0076】
[1−6.認証装置が端末装置に適用された場合]
次に、認証装置1が端末装置に適用された場合について
図1Bを用いて説明する。
図1Bは、認証装置1を端末装置に適用した場合の情報処理システムS2の概要構成の一例を示す図である。
図2に示すように、情報処理システムS2は、端末装置として認証装置1を含む。この場合の認証装置1は例えばネットワークに接続可能であってもよい。また、2以上の認証装置1が存在してもよい。認証装置1は、例えば、スマートフォン、タブレット型コンピュータ、携帯電話機、パーソナルコンピュータ、PDA、STB等であってもよい。認証装置1はユーザにより利用される。
【0077】
例えば、認証装置1を利用するためのパスワードをユーザが設定することができるように認証装置1が構成されていてもよい。またユーザは、設定されたパスワードの変更が可能なように、認証装置1が構成されていてもよい。本実施形態において、認証装置1におけるパスワードの入力環境は単一である。記憶部12には、入力環境に対応する入力コストテーブルが記憶されている。認証装置1は、入力コストテーブルに基づいて、入力されたパスワードの入力コストを算出して、パスワードの適否を判定する。
【0078】
認証装置1が端末装置である場合の処理は、
図8乃至
図10のフローチャートで示した処理と基本的に同様である。ただし、
図8に示す入力パスワード登録制御処理において、出力部165は、操作部13を用いて入力されたパスワードを取得する。また、出力部165は、パスワードが適切であると判定した場合には、パスワードを記憶部12に記憶させる。また、出力部165は、登録完了画面、登録パスワード再入力画面等の画面を表示部14に出力する。
【0079】
以上説明したように、本実施形態によれば、システム制御部16が、所定の登録要件に従うパスワードを取得する。また、システム制御部16が、パスワードに含まれる複数の文字のそれぞれの入力操作のコストを取得する。また、システム制御部16が、取得されたコストに基づいて、パスワードの入力コストを算出する。また、システム制御部16が、算出された入力コストに基づいて、パスワードの適否を判定する。従って、適否の判定結果に基づき、安全性を確保しつつ、パスワードの入力負担を適切に保つことができる。
【0080】
また、システム制御部16が、パスワードに含まれる複数の文字のそれぞれを入力するための入力手段群の切り替え回数に基づくコストを取得してもよい。この場合、入力手段群の切り換え操作が可能な入力環境に対して適切な入力コストを算出することができる。
【0081】
また、システム制御部16が、パスワードに含まれる複数の文字のそれぞれを入力するための操作の回数に基づくコストを取得すしてもよい。この場合、文字によって操作回数が異なる入力環境に対して適切な入力コストを算出することができる。
【0082】
また、システム制御部16が、パスワードに含まれる複数の文字のそれぞれが割り当てられた入力手段の位置に基づくコストを取得してもよい。この場合、入力手段の位置によって入力負担が異なる入力環境に対して適切な入力コストを算出することができる。
【0083】
また、システム制御部16が、ユーザ操作によって入力されたパスワードを取得し、取得したパスワードに対して判定された適否を出力してもよい。この場合、ユーザにより入力されるパスワードの入力負担を適切に保つことができる。
【0084】
[2.第2実施形態]
次に、第2実施形態について
図11を用いて説明する。第1実施形態においては、パスワードの入力環境が1つに限定されていた。本実施形態においては、入力環境が複数存在する。本実施形態においても、認証装置1は、例えばサーバ装置であってもよいし、端末装置であってもよい。以下に説明する点を除き、第2実施形態は第1実施形態と基本的に同様である。
【0085】
認証装置1がサーバ装置である場合、情報処理システムS1におけるユーザ端末2として、複数の種類の端末装置が情報処理システムS1を利用可能である。ユーザ端末2の種類によって入力環境が異なる場合がある。
【0086】
文字入力コスト取得部162は、複数の入力環境の中から実際にパスワードの入力に利用される入力環境を特定する。例えば、認証装置1とユーザ端末2がHTTPで通信する場合、文字入力コスト取得部162は、ユーザ端末2からのリクエストに含まれるユーザエージェント情報を用いてもよい。この場合、認証装置1は、ユーザエージェント情報に対応する入力環境を特定する。
【0087】
同じ種類のユーザ端末2又は同一のユーザ端末2において、入力環境が変化してもよい。例えば、ユーザが入力環境を切り替えることを可能とするユーザ端末2が存在する。例えば、ソフトウェアキーボード等の入力手段群を画面に表示するユーザ端末2である場合、入力環境に切り換えにより、文字の入力方法、入力手段群のレイアウトや種類、入力手段群の切り換え方法等が異なる場合がある。このような場合、文字入力コスト取得部162は、例えばユーザ端末2に現在の入力環境の情報を要求してもよい。この要求に応じて、ユーザ端末2は、例えば現在の入力環境を示す入力環境IDを認証装置1に送信する。文字入力コスト取得部162は、入力環境IDを受信することによりユーザ端末2の入力環境を特定する。
【0088】
認証装置1が端末装置である場合、ユーザ端末2と同様に、認証装置1における入力環境を切り替えることが可能な場合がある。この場合、例えば記憶部12に現在の入力環境を示す情報が記憶されている。文字入力コスト取得部162は、この情報に基づいて認証装置1における入力環境を特定する。
【0089】
記憶部12には、複数の入力コストテーブルが記憶される。各入力コストテーブルは、例えばその入力コストテーブルに対応する入力環境を示す入力環境IDに関連付けて記憶される。また、記憶部12には、ユーザエージェント/入力環境変換テーブル変換テーブルが記憶されてもよい。ユーザエージェント/入力環境変換テーブルは、ユーザエージェント情報と、そのユーザエージェント情報が示すユーザ端末2の種類に対応する入力環境IDとを対応付けて記憶するテーブルである。
【0090】
図11は、本実施形態に係る認証装置1のシステム制御部16の入力コスト算出処理の一例を示すフローチャートである。
図11において
図10と同様の処理については同様の符号が付されている。
図11に示すように、文字入力コスト取得部162は、パスワードの入力環境を特定する(ステップS31)。認証装置1がサーバ装置である場合、文字入力コスト取得部162は、例えばユーザ端末2から受信した登録要求からユーザエージェント情報を取得してもよい。この場合、文字入力コスト取得部162は、ユーザエージェント/入力環境変換テーブルから、ユーザエージェント情報に対応する入力環境IDを取得する。また、文字入力コスト取得部162は、例えば登録要求を送信してきたユーザ端末2へ入力環境IDの要求を送信してもよい。この要求に応じて、ユーザ端末2は、現在の入力環境を示す入力環境IDを認証装置1へ送信する。認証装置1が端末装置である場合、文字入力コスト取得部162は、例えば記憶部12から現在の入力環境を示す情報を取得してもよい。そして、文字入力コスト取得部162は、取得した情報に対応する入力環境IDを取得してもよい。
【0091】
ステップS31を終えると、文字入力コスト取得部162は、入力環境に対応する入力コストテーブルを決定する(ステップS32)。具体的に、文字入力コスト取得部162は、取得した入力環境IDに対応する入力コストテーブルを、記憶部12から特定する。次いで、システム制御部16はS21〜S25を実行する。次いで、文字入力コスト取得部162は、ステップS32で決定した入力コストテーブルから、直前文字又は直前文字の文字種と、次文字又は次文字の文字種とに対応する入力コストを、次文字コードの入力コストとして取得する(ステップS33)。次いで、システム制御部16は、ステップS27〜S29を実行する。
【0092】
以上説明したように、本実施形態によれば、システム制御部16が、パスワードの入力に利用される入力環境を特定し、特定された入力環境に対応する入力コストテーブルに基づいて、パスワードに含まれる文字の入力コストを取得する。従って、入力環境が予め定められていない場合であっても、パスワードの入力に利用される入力環境に対して適切な入力コストを算出することができる。
【0093】
[3.第3実施形態]
次に、第3実施形態について
図12A乃至
図14を用いて説明する。本実施形態において、認証装置1は、入力されたパスワードが適切ではないと判定した場合、適切であると判定されるようなパスワードの修正方法を出力する。これにより、ユーザによるパスワードの登録又は設定の負担を軽減することができる。本実施形態においても、認証装置1は、例えばサーバ装置であってもよいし、端末装置であってもよい。以下に説明する点を除き、第2実施形態は、第1実施形態又は第2実施形態と基本的に同様である。
【0094】
入力されたパスワードが適切ではないと適否判定部164により判定された場合、出力部165は、入力されたパスワードの修正方法を決定する。パスワードの修正は、例えばパスワードの一部の変更、削除、入れ替えや、パスワードに対する文字の追加等であってもよい。こうした修正により、出力部165は、適否判定部164が適切であると判定するパスワードを生成又は取得する。そして、出力部165は、適否判定部164が適切であると判定するパスワードの修正方法を登録パスワード再入力画面に表示させる。例えばユーザに対する提案又は修正例として修正方法が表示されてもよい。この場合のユーザは、表示された修正方法通りに必ずしもパスワードを修正する必要はない。以下にパスワードの修正例を示す。以下の例では、説明の便宜上、
図4Bに示す入力コストテーブルに基づいて入力コストが算出されるものとする。
【0095】
先ず、パスワードの入力コストが下限値未満である場合の修正例を説明する。ユーザは、最初にパスワードとして「dAJ395a0」を入力したところ、入力コストが下限値未満であったとする。出力部165は、例えばパスワードに追加する文字数を修正方法として出力してもよい。文字数によって最低限増加する入力コストが決まる。出力部165は、例えば修正前のパスワードの入力コストと下限値との差に基づいて、追加する文字数を決定してもよい。
図12Aは、登録パスワード再入力画面の表示例である。
図12Aに示す登録パスワード再入力画面には、パスワードに3文字追加することを促すメッセージ211が表示されている。
図12Bは、ユーザによるパスワードの修正例を示す。メッセージ211を見たユーザは、先に入力したパスワードに3文字を追加する。これにより、入力コストが3以上増加する。
図12Bの例では、「dAJ395a0」の後に「1yz」が追加されている。従って入力コストが4増加する。
【0096】
文字種によって入力コストが変化する場合がある。この場合、出力部165は、例えばパスワードの一部の文字を、その文字の文字種とは異なる文字種の文字に変更することを修正方法として出力してもよい。出力部165は、例えばパスワードの中から相対的に入力コストが低い文字種の文字を特定し、その文字種よりも入力コストが高い文字種を特定してもよい。このとき、出力部165は、例えば修正前のパスワードの入力コストと下限値との差に基づき、変更対象の文字及び変更後の文字種を特定してもよい。そして、出力部165は、特定した結果を修正方法として出力してもよい。
図12Cは、登録パスワード再入力画面の表示例である。
図12Cに示す登録パスワード再入力画面には、パスワードに含まれる「9」(5番目の文字)を、英大文字に変更することを促すメッセージ212が表示されている。
図12Dは、ユーザによるパスワードの修正例を示す。メッセージ212を見たユーザは、例えば
図12Dに示すように、パスワード中の「9」を「P」に変更する。修正前のパスワードにおいて、「95」の入力コストは2である。修正後のパスワードにおいて、「P5」の入力コストは5である。従って、入力コストが3増加している。なお、出力部165は、例えば2文字以上の文字を変更する修正方法を出力してもよい。
【0097】
直前に入力された文字又はその文字種によって次に入力される文字の入力コストが変化する場合がある。この場合、出力部165は、例えばパスワード中の或る文字と別の文字とを入れ替えることを修正方法として出力してもよい。出力部165は、例えば入れ替えを行うことによって、入れ替え前よりも入力コストが増加する2つの文字を特定してもよい。このとき、出力部165は、例えば修正前のパスワードの入力コストと下限値との差に基づき、入れ替える文字を特定してもよい。そして、出力部165は、特定した結果を修正方法として出力してもよい。
図12Eは、登録パスワード再入力画面の表示例である。
図12Eに示す登録パスワード再入力画面には、パスワードに含まれる「J」と「9」とを入れ替えることを促すメッセージ213が表示されている。
図12Fは、ユーザによるパスワードの修正例を示す。メッセージ213を見たユーザは、例えば
図12Fに示すように、パスワード中の「J」の位置と「9」の位置とを入れ替える。修正前のパスワードにおいて、「J395」の入力コストは6である。修正後のパスワードにおいて、「93J5」の入力コストは8である。従って、入力コストが3増加している。なお、出力部165は、例えば3文字以上の文字を入れ替える修正方法を出力してもよい。
【0098】
次に、パスワードの入力コストが上限値より大きい場合の修正例を説明する。ユーザは、最初にパスワードとして「o472Sj5xw0e」を入力したところ、入力コストが上限値より大きかったとする。例えば、出力部165は、パスワードから削除する文字を修正方法として出力してもよい。出力部165は、例えばパスワード中で入力コストが相対的に大きい文字を削除対象として特定してもよい。このとき、出力部165は、例えば修正前のパスワードの入力コストと上限値との差に基づいて、削除する文字及び削除する文字数を特定してもよい。そして、出力部165は、特定した結果を修正方法として出力してもよい。
図13Aは、登録パスワード再入力画面の表示例である。
図13Aに示す登録パスワード再入力画面には、パスワードに含まれる「Sj」を削除することを促すメッセージ214が表示されている。
図13Bは、ユーザによるパスワードの修正例を示す。メッセージ214を見たユーザは、例えば
図13Bに示すように、パスワードから「Sj」を削除する。修正前のパスワードにおいて、「Sj5」の入力コストは6である。修正後のパスワードにおいて、「5」の入力コストは1である。従って、入力コストが5減少している。
【0099】
文字種によって入力コストが変化する場合、出力部165は、例えばパスワードの一部の文字の文字種を別の文字種の文字に変更することを修正方法として出力してもよい。この場合、出力部165は、入力コストが減少するように、変更対象の文字及び変更後の文字種を特定する。
図13Cは、登録パスワード再入力画面の表示例である。
図13Cに示す登録パスワード再入力画面には、パスワードに含まれる「0」を、アルファベットの小文字に変更することを促すメッセージ215が表示されている。
図13Dは、ユーザによるパスワードの修正例を示す。メッセージ214を見たユーザは、例えば
図13Dに示すように、パスワード中の「0」を「a」に変更する。修正前のパスワードにおいて、「0e」の入力コストは4である。修正後のパスワードにおいて、「ae」の入力コストは2である。従って、入力コストが2減少している。なお、出力部165は、例えば2文字以上の文字を変更する修正方法を出力してもよい。
【0100】
直前に入力された文字又はその文字種によって次に入力される文字の入力コストが変化する場合、出力部165は、例えばパスワード中の或る文字と別の文字とを入れ替えることを修正方法として出力してもよい。この場合、出力部165は、入力コストが減少するように、入れ替える2つの文字を特定してもよい。
図13Eは、登録パスワード再入力画面の表示例である。
図13Eに示す登録パスワード再入力画面には、パスワードに含まれる「S」と「0」とを入れ替えることを促すメッセージ216が表示されている。
図13Fは、ユーザによるパスワードの修正例を示す。メッセージ216を見たユーザは、例えば
図13Fに示すように、パスワード中の「S」の位置と「0」の位置とを入れ替える。修正前のパスワードにおいて、「Sj」の入力コストは5であり、「0e」の入力コストは4である。修正後のパスワードにおいて、「0j」の入力コストは3であり、「Se」の入力コストは4である。従って、入力コストが2減少している。なお、出力部165は、例えば3文字以上の文字を入れ替える修正方法を出力してもよい。
【0101】
出力部165は、例えば上述した種類の方法とは異なる種類の方法を出力してもよい。また、出力部165は、入力コストが下限値未満である場合と上限値より大きい場合とで、それぞれ予め定められた種類の方法を修正方法として出力してもよい。また、出力部165は、例えば所定の条件に基づいて、修正方法の複数の種類の中から何れかの種類を決定し、決定した種類の方法を修正方法として出力してもよい。また、出力部165は、複数の修正方法を組み合わせてもよい。
【0102】
図14は、本実施形態に係る認証装置1のシステム制御部16の入力パスワード登録制御処理の一例を示すフローチャートである。
図14において
図8と同様の処理については同様の符号が付されている。
図14に示すように、システム制御部16はステップS1〜S3を実行する。ステップS3において、出力部165は、判定結果が「適切」に設定されている場合には(ステップS3:YES)、ステップS4及びS5を実行する。一方、出力部165は、判定結果が「適切」に設定されてない場合には(ステップS3:NO)、ステップS6の判定を行う。ステップS6において、出力部165は、判定結果が「不適切」に設定されていない場合には(ステップS6:NO)、ステップS8を実行する。一方、出力部165は、判定結果が「不適切」に設定されている場合には(ステップS6:YES)、ステップS41に進む。
【0103】
ステップS41において、出力部165は、入力されたパスワードのコピーを生成する。次いで、出力部165は、パスワードのコピーを修正する(ステップS42)。パスワードの入力コストが下限値未満であるとき、出力部165は、例えば入力コストと下限値未満とのコスト差を算出してもよい。出力部165は、例えばコスト差に相当する文字数を決定してもよい。そして、出力部165は、決定した文字数分の文字をパスワードのコピーに追加してもよい。この場合、出力部165は、追加する文字の入力コストが最小となるように、追加する文字を決定してもよい。また例えば、出力部165は、パスワードのコピーの中で変更する文字を決定してもよい。例えば、出力部165は、変更する文字をランダムに決定してもよいし、所定の条件に基づいて決定してもよい。例えば、出力部165は、入力コストテーブルを参照して、パスワードの中で入力コストが最も小さい文字を決定してもよい。次いで、出力部165は、例えば決定した文字の文字種とは異なる文字種の中で、入力コストが大きくなる文字種を変更後の文字種として決定してもよい。そして、出力部165は、パスワードのコピーにおいて決定した文字を、変更後の文字種の所定の文字に変更してもよい。また例えば、出力部165は、パスワードのコピーの中で位置を入れ替える複数の文字を決定してもよい。この場合、出力部165は、入れ替える文字をランダムに決定してもよいし、所定の条件に基づいて入れ替える文字を決定してもよい。例えば、出力部165は、入力コストテーブルを参照して、パスワードの中で入力コストが最も小さい複数の文字を決定してもよい。出力部165は、パスワードのコピーにおいて、決定した複数の文字の位置を互いに入れ替える。
【0104】
パスワードの入力コストが上限値より大きいとき、出力部165は、例えばパスワードのコピーの中から削除する文字を決定してもよい。このとき、出力部165は、例えば削除する文字をランダムに決定してもよいし、所定の条件に基づいて決定してもよい。例えば、出力部165は、パスワードの中で入力コストが最も大きい文字を決定してもよい。そして、出力部165は、パスワードのコピーから、決定した文字を削除してもよい。また例えば、出力部165は、パスワードのコピーの中で変更する文字を決定してもよい。例えば、出力部165は、変更する文字をランダムに決定してもよいし、所定の条件に基づいて決定してもよい。例えば、出力部165は、入力コストテーブルを参照して、パスワードの中で入力コストが最も大きい文字を決定してもよい。次いで、出力部165は、例えば決定した文字の文字種とは異なる文字種の中で、入力コストが小さくなる文字種を変更後の文字種として決定してもよい。そして、出力部165は、パスワードのコピーにおいて決定した文字を、変更後の文字種の所定の文字に変更してもよい。また例えば、出力部165は、パスワードのコピーの中で位置を入れ替える複数の文字を決定してもよい。この場合、出力部165は、入れ替える文字をランダムに決定してもよいし、所定の条件に基づいて入れ替える文字を決定してもよい。例えば、出力部165は、入力コストテーブルを参照して、パスワードの中で入力コストが最も大きい複数の文字を決定してもよい。出力部165は、パスワードのコピーにおいて、決定した複数の文字の位置を互いに入れ替える。
【0105】
ステップS42を終えると、システム制御部16はパスワード検査処理を実行する(ステップS43)。パスワード検査処理及び入力コスト算出処理は、
図9及び
図10に示した通りである。ただし、ステップS43においては、修正されたパスワードのコピーに対して処理が実行される。次いで、出力部165は、判定結果が「適切」に設定されている否かを判定する(ステップS44)。このとき、出力部165は、パスワード検査処理における判定結果が「適切」に設定されていないと判定した場合には(ステップS44:NO)、ステップS41に進む。パスワードのコピーが登録要件を満たしていない場合、又はパスワードのコピーが適切ではない場合、出力部165は、パスワードの新たなコピーを生成して(ステップS41)、新たなコピーを修正する(ステップS42)。このとき、出力部165は、例えばこれまでの修正において変更した文字、入れ替えた文字又は削除した文字とは異なる文字を変更、入れ替え又は削除する。また例えば、出力部165は、これまでの修正において変更した文字、入れ替えた文字又は削除した文字に追加して、更に変更、入れ替え又は削除する文字を決定してもよい。また例えば、出力部165は、追加する文字数を変更してもよい。こうして、出力部165は、パスワードの修正されたコピーが適切であると判定されるまで、パスワードのコピーを修正する。ステップS42において、出力部165は、判定結果が「適切」に設定されていると判定した場合には(ステップS44:YES)、ステップS45に進む。ステップS45において、出力部165は、登録パスワード再入力画面のウェブページをユーザ端末2に出力する。このとき、出力部165は、パスワードのコピーが適切であると判定された修正方法を示すメッセージをウェブページに追加する。ステップS45を終えると、出力部165は、入力パスワード登録制御処理を終了させる。
【0106】
以上説明したように、本実施形態によれば、システム制御部16が、パスワードが適切ではないと判定された場合、パスワードの修正方法であって、修正後のパスワードを適切であると判定される修正方法を出力する。従って、出力された修正方法に基づいてユーザがパスワードを修正することにより、修正されたパスワードの入力負担を適切に保つことができる。
【0107】
[4.第4実施形態]
次に、第4実施形態について
図15を用いて説明する。本実施形態において、認証装置1は、登録又は設定するパスワードを自動的に生成する。これによって認証装置1は、適否を判定するパスワードを取得する。本実施形態においても、認証装置1は、例えばサーバ装置であってもよいし、端末装置であってもよい。適否が判定されるパスワードの取得方法を除き、第4実施形態は、第1実施形態又は第2実施形態と同様である。
【0108】
認証装置1がサーバ装置である場合、パスワード取得部161は、例えば情報処理システムS1に会員登録を行うユーザのパスワードを生成してもよい。また、登録したパスワードを変更するとき、パスワード取得部161は、変更後の新しいパスワードを生成してもよい。認証装置1が端末装置である場合、例えば認証装置1、認証装置1の所定の機能又は所定のソフトウェアを利用するためのパスワードを設定するときに、パスワード取得部161はパスワードを生成してもよい。また、設定したパスワードを変更するとき、パスワード取得部161は、変更後の新しいパスワードを生成してもよい。
【0109】
出力部165は、パスワード取得部161により生成されて、適否判定部164により適切であると判定されたパスワードを出力する。認証装置1がサーバ装置である場合、出力部165は、例えばユーザ端末2の画面にパスワードを生成させてもよい。また例えば、出力部165は、対象のユーザ宛てにパスワードを記載した電子メールを送信してもよい。認証装置1が端末装置である場合、出力部165は、例えば表示部14にパスワードを表示させてもよい。
【0110】
図15は、本実施形態に係る認証装置1のシステム制御部16のパスワード生成制御処理の一例を示すフローチャートである。認証装置1がサーバ装置である場合、例えば認証装置1がユーザ端末2からパスワードの生成又は変更の要求を受信したとき、システム制御部16はパスワード生成制御処理を実行してもよい。認証装置1が端末装置である場合、例えばユーザが操作部13を操作することによりパスワードの生成又は変更を要求したとき、システム制御部16はパスワード生成制御処理を実行してもよい。
図15に示すように、パスワード取得部161は、パスワードを生成する(ステップS51)。例えば、パスワード取得部161は、パスワードを構成する複数の文字のそれぞれをランダムに生成してもよい。このとき、パスワード取得部161は、例えば登録要件を満たすようにパスワードを生成してもよい。次いで、システム制御部16は、パスワード検査処理を実行する(ステップS52)。パスワード検査処理及び入力コスト算出処理は、
図9及び
図10に示した通りである。ステップS52においては、生成されたパスワードに対して処理が実行される。次いで、パスワード取得部161は、パスワード検査処理における判定結果が「適切」に設定されている否かを判定する(ステップS53)。このとき、パスワード取得部161は、判定結果が「適切」に設定されていないと判定した場合には(ステップS53:NO)、ステップS51に進む。こうして、パスワード取得部161は、適切なパスワードが生成されるまでパスワードの生成を繰り返す。一方、パスワード取得部161は、判定結果が「適切」に設定されていると判定した場合には(ステップS53:YES)、ステップS54に進む。ステップS54において、出力部165は、生成されたパスワードを登録する。認証装置1がサーバ装置である場合、出力部165は、ユーザIDとパスワードとを対応付けてユーザ情報DB3に登録する。認証装置1が端末装置である場合、出力部165は、パスワードを記憶部12に記憶させる。次いで、出力部165は、生成されたパスワードを出力する(ステップS55)。パスワードの出力方法については上述した通りである。ステップS55を終えると、出力部165は、パスワード生成制御処理を終了させる。
【0111】
以上説明したように、本実施形態によれば、システム制御部16が、登録要件に従うパスワードを生成し、生成されたパスワードが適切であると判定されるまでパスワードの生成を繰り返し、適切であると判定されたパスワードを出力する。従って、自動的に生成されるパスワードの入力負担を適切に保つことができる。
【0112】
[5.第5実施形態]
次に、第5実施形態について
図16を用いて説明する。本実施形態において、認証装置1は、自動的に生成したパスワードが適切ではない場合、生成したパスワードを修正することにより、適否を判定するパスワードを再生成する。毎回ランダムにパスワードを生成するよりも、パスワードを修正した方が適切なパスワードを早く生成することができる蓋然性がある。パスワード取得部161は、例えば第3実施形態で説明した方法でパスワードを修正してもよい。以下に説明する点を除き、第5実施形態は第4実施形態と同様である。
【0113】
図16は、本実施形態に係る認証装置1のシステム制御部16のパスワード生成制御処理の一例を示すフローチャートである。
図16において
図15と同様の処理については同様の符号が付されている。
図16に示すように、システム制御部16は、ステップS51〜S53を実行する。ステップS53において、パスワード取得部161は、判定結果が「適切」に設定されていない場合(ステップS53:NO)、ステップS61に進む。ステップS61において、パスワード取得部161は、生成されたパスワードを修正することにより新たなパスワードを生成する。パスワードの修正方法は、
図14に示す入力パスワード登録制御処理のステップS42におけるパスワードのコピーの修正方法と同様であってもよい。次いで、システム制御部16は、パスワード検査処理を実行する(ステップS52)。この場合、修正されたパスワードに対して処理が実行される。こうして、パスワード取得部161は、パスワードが適切であると判定されるまで、生成されたパスワードに対して修正を追加していく。ステップS53において、判定結果が「適切」に設定されている場合(ステップS53:YES)、出力部165は、ステップS54及び55を実行する。
【0114】
以上説明したように、本実施形態によれば、システム制御部16が、生成されたパスワードが適切ではないと判定された場合、生成されたパスワードを修正することにより新たなパスワードを生成する。従って、生成されたパスワードとは関係なく新しいパスワードを生成するよりも、生成されるパスワードの入力負担を適切に保つことを容易にすることができる。
【0115】
[6.第6実施形態]
次に、第6実施形態について
図17を用いて説明する。本実施形態において、認証装置1は、ユーザ端末2の種類に基づいてパスワードの登録要件を決定する。本実施形態において、認証装置1は、例えばサーバ装置であってもよい。以下に説明する点を除き、第6実施形態は第1実施形態〜第5実施形態と同様である。
【0116】
例えばユーザ端末2の種類によって安全性が異なる場合がある。例えば、パーソナルコンピュータとスマートフォンとを比較する場合、パーソナルコンピュータを複数のユーザが共有する蓋然性は、スマートフォンを複数のユーザが共有する蓋然性よりも高い。従って、パーソナルコンピュータの方がスマートフォンよりも安全性が低い場合がある。そこで、パスワード取得部161は、例えばパーソナルコンピュータが利用される場合のパスワードの登録要件を、スマートフォンが利用される場合のパスワードの登録要件よりも厳しくしてもよい。登録要件を厳しくすることは、パスワードの複雑性が増すように登録要件を決定することである。例えば、パスワード取得部161は、パスワードの文字数の下限値を大きくしてもよいし、パスワードに含まれる文字種の数を多くしてもよい。登録要件の一例を挙げると、パーソナルコンピュータに対しては、例えば文字数が8以上であり、パスワードは必ず英大文字、英小文字及び数字のそれぞれを少なくとも1つ含むことであってもよい。スマートフォンに対しては、例えば文字数が6以上であり、パスワードは必ずアルファベット(大文字か小文字かを問わない)及び数字のそれぞれを少なくとも1つ含むことであってもよい。または、認証装置1は、例えばスマートフォンについての登録要件よりもパーソナルコンピュータについての登録要件よりも緩めてもよい。登録要件を緩めることは、パスワードの複雑性が低下するように登録要件を決定することである。
【0117】
複数種類のユーザ端末2に対して同一の登録要件が適用されてもよい。例えば、スマートフォン、携帯電話機、PDAに対して同一の登録要件が適用され、パーソナルコンピュータ、STBに対して別の登録要件が適用されてもよい。また例えば、3つ以上の登録要件があってもよい。
【0118】
1人のユーザが複数種類のユーザ端末2を利用して情報処理システムS1を利用可能なように認証装置1が構成されてもよい。そして、システム制御部16は、例えばユーザ端末2の種類ごとに異なる登録要件をパスワードに適用し、ユーザがユーザ端末2の種類ごとに異なるパスワードを設定可能にしてもよい。この場合、システム制御部16は、1人のユーザに対してユーザ端末2の種類ごとに異なるパスワードをユーザ情報DB3に登録し、ユーザ端末2の種類ごとに異なるパスワードを用いてユーザの認証を行ってもよい。
【0119】
記憶部12には、複数の登録要件情報が記憶される。登録要件情報は、登録要件を示す情報である。例えば、登録要件情報は、パスワードの文字数の下限値、上限値、パスワードに利用可能な文字種、必須の文字種等を含んでいてもよい。各登録要件情報は、例えば登録要件IDと対応付けて記憶されている。登録要件IDは、登録要件情報の識別情報である。また、記憶部12には、ユーザエージェント/登録要件変換テーブルが記憶されてもよい。ユーザエージェント/登録要件変換テーブルは、ユーザエージェント情報と、そのユーザエージェント情報が示すユーザ端末2の種類に対応する登録要件IDとを対応付けて記憶するテーブルである。
【0120】
図17は、本実施形態に係る認証装置1のシステム制御部16の入力パスワード検査処理の一例を示すフローチャートである。
図17において
図9と同様の処理については同様の符号が付されている。
図17に示すように、パスワード取得部161は、入力されたパスワードの登録又はパスワードの生成を要求したユーザ端末2の種類を特定する(ステップS71)。例えば、パスワード取得部161は、ユーザ端末2からの要求からユーザエージェント情報を取得してもよい。次いで、パスワード取得部161は、ユーザ端末2の種類に対応する登録要件を決定する(ステップS72)。例えば、パスワード取得部161は、取得したユーザエージェント情報に対応する登録要件IDをユーザエージェント/登録要件変換テーブルから取得する。次いで、パスワード取得部161は、登録要件IDに対応する登録要件情報を記憶部12から特定する。
【0121】
次いで、パスワード取得部161は、特定した登録要件情報に基づいて、パスワードが登録要件を満たすか否かを判定する(ステップS73)。例えば、パスワードの文字数が下限値よりも少ない場合、又は上限値よりも多い場合、パスワード取得部161は、パスワードが登録要件を満たさないと判定する。また例えば、パスワードが、利用可能な文字種の文字とも必須の文字種の文字とも異なる文字を含む場合、パスワード取得部161は、パスワードが登録要件を満たさないと判定する。また例えば、パスワードが、必須の文字種の文字を含まない場合、パスワード取得部161は、パスワードが登録要件を満たさないと判定する。パスワード取得部161は、パスワードが登録要件を満たさないと判定した場合には(ステップS73:NO)、ステップS12に進む。一方、パスワード取得部161は、パスワードが登録要件を満たすと判定した場合には(ステップS73:YES)、ステップS13に進む。システム制御部16は、第1実施形態と同様に、ステップS13〜S17を実行する。
【0122】
以上説明したように、本実施形態によれば、システム制御部16が、パスワードの入力に用いられるユーザ端末2の種類を特定し、特定された種類に基づいて、登録要件を決定し、決定された登録要件に従うパスワードを取得する。従って、ユーザ端末2の種類に適した登録要件を課すことができる。
【0123】
なお、上記各実施形態においては、認証情報がパスワードに適用されていた。しかしながら、認証情報がパスワードとは異なる情報に適用されてもよい。例えば、認証に用いられる情報であって、ユーザにより入力可能であり且つ複雑性の条件が定められている情報に認証情報を適用することができる。例えば、ユーザの識別情報に認証情報が適用されてもよい。また、認証情報は、文字や記号を示すコードと異なるコードを含んでもよい。認証情報は、ユーザの操作により入力可能な文字が含まれればよい。例えば、認証情報は、画像、アイコン、シンボル、又は符号等を示すコードを含んでもよい。
安全性を確保しつつ、認証情報の入力負担を適切に保つことを目的とする。情報処理装置は、所定の複雑性の条件に従う認証情報を取得する。情報処理装置は、認証情報に含まれる複数のコードのそれぞれの入力操作のコストを取得する。情報処理装置は、取得されたコストに基づいて、認証情報の入力コストを算出する。情報処理装置は、算出された入力コストに基づいて認証情報の適否を判定する。