JP5943359B2 - パスワードを検証するシステム、方法およびプログラム - Google Patents

パスワードを検証するシステム、方法およびプログラム Download PDF

Info

Publication number
JP5943359B2
JP5943359B2 JP2014225627A JP2014225627A JP5943359B2 JP 5943359 B2 JP5943359 B2 JP 5943359B2 JP 2014225627 A JP2014225627 A JP 2014225627A JP 2014225627 A JP2014225627 A JP 2014225627A JP 5943359 B2 JP5943359 B2 JP 5943359B2
Authority
JP
Japan
Prior art keywords
password
key
keys
adjacent
selection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014225627A
Other languages
English (en)
Other versions
JP2016091333A (ja
Inventor
博敬 竹之下
博敬 竹之下
裕二 柳原
裕二 柳原
岳志 三浦
岳志 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014225627A priority Critical patent/JP5943359B2/ja
Priority to US14/864,986 priority patent/US9721088B2/en
Publication of JP2016091333A publication Critical patent/JP2016091333A/ja
Application granted granted Critical
Publication of JP5943359B2 publication Critical patent/JP5943359B2/ja
Priority to US15/665,526 priority patent/US10083292B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords

Description

本発明は、パスワードを検証するシステム、方法およびプログラムに関する。
スマートデバイスやソーシャルネットワーク、クラウドコンピューティングなどの進展に伴い、ビジネスや暮らしは情報システムへの依存度をますます高めている。ユーザが情報システムを利用する際には、予めパスワードを登録しておき、登録済みのパスワードに一致するパスワードを入力することにより、ユーザの認証が行われて情報システムの利用が可能となるのが一般である。パスワードが一致すれば、たとえ別のユーザであってもパスワードを登録した本人とみなされ、情報システムの利用が許可されることとなる。そのため、パスワードは厳しく管理されることが求められるが、ユーザが登録するパスワードは完全にランダムな文字列で構成されるということはほとんどなく、実際にはユーザにとって覚え易い文字列で構成される場合が多い。
例えば、辞書などに載っている単語のパスワードや、ユーザの生年月日等の個人情報から類推できるパスワードは、パスワード自体に何らかの意味があり、ユーザにとって覚え易いものといえる。また、パスワード自体に意味はないが、短い文字列のパスワードや、入力の際に選択されるキーボードのキーの物理配列の特徴を利用したパスワードなども、ユーザにとって覚え易いものといえる。図16(a)、(b)は、キーの物理配列の特徴を利用したパスワードの一例を説明するための図である。図16(a)では、パスワードの入力に用いられるキーボードのキーのうち、斜線を付した「1」、「q」、「a」、「z」、「x」、「s」、「w」、「2」のキーを用いる例を示している。例えば、これらのキーによる「zaq12wsx」というパスワードは、キーを一筆書きに時計回りに入力するものであり、キーの物理配列の特徴を利用したパスワードであるといえる。また、図16(b)では、キーボードのキーのうち、斜線を付した「1」、「2」、「3」、「4」、「a」、「s」、「d」、「f」のキーを用いる例を示している。例えば、これらのキーによる「asdf1234」というパスワードは、キーを横方向に連続して入力するものであり、キーの物理配列の特徴を利用したパスワードであるといえる。
このようなキーの物理配列を利用したパスワードであるか否かを判定する技術として、例えば、キーの物理配列を利用したといえるパスワードを予め登録しておき、入力されたパスワードが登録済みのパスワードと一致するか否かにより判定が行われるものが知られている。他に、キーボードのキー配列を利用してパスワードの比較を行う技術として、例えば、特許文献1には、入力されたパスワードであるパスワードPW2およびパスワード記憶部に記憶されているパスワードPW1に基づいて、パスワードの文字のボタンの相対的な位置関係をPW1、PW2同士で比較して、パスワードPW2の入力者が不正者である可能性の度合いを判定する技術が開示されている。さらに、キーボードのキー配列を利用してパスワードの生成を行う技術として、例えば、特許文献2には、登録パスワードの文字列そのものではなく、キーボードのキー配列で形成可能な形状を表すイメージ・パターンと、イメージ・パターンを形成するときのキーの入力順序を表すイメージ・シーケンスとを用いて、認証パスワードを生成する技術が開示されている。
特開2009−089279号公報 特開2008−181440号公報
キーの物理配列の特徴を利用したパスワードを入力する場合、ユーザは、選択するキーを全て記憶しておかなくても良く、選択するキーの開始位置と終了位置、及びその間に選択するキーの規則性を覚えていれば良い。その一方、例えば、キーを一筆書きに時計回りに入力する「zaq12wsx」のようなパスワードは、他のユーザから推測され易いと判断されたとしても、これらの文字の入力順番を入れ替えただけの「1zwqx2as」のようなパスワードは、キーの物理配列を利用しているが一見すると規則性がないように見え、推測容易なパスワードではないと判断される場合がある。しかし、ユーザがこのようなパスワードを情報システムに使用していると、悪意のある第三者が、キーの物理配列の特徴を利用した文字列に絞って、その中の文字を入れ替えてパスワードの割り出しを試みた場合に、短時間でパスワードが見破られる恐れがある。そのため、このようにキーの物理配列を利用しているパスワードに対して、外部からの脅威を抑止する対策が求められている。
本発明は、キーの配置を利用した推測容易なパスワードの使用を抑制することを目的とする。
かかる目的のもと、本発明は、次のようなシステムとして実現される。このシステムは、複数のキーが配置されたキー配置部からキーが選択されることにより、パスワードの入力を受け付ける受付部と、前記パスワードに含まれる複数の前記選択されたキー(選択キー)のそれぞれについて、隣接する他の選択キー(隣接キー)があるかどうかを検出し、隣接キーに関して予め定められた条件を満たす場合に、当該パスワードが推測容易であると判定する判定部とを備える。
また、好ましくは、上記の判定部は、複数の隣接キーを有する選択キーの数が、予め定められた条件を満たす場合に、前記パスワードが推測容易であると判定することを特徴とする。
さらに、好ましくは、上記の判定部は、前記予め定められた条件として、複数の隣接キーを有する選択キーの数を、前記パスワードを入力する際にキーの選択が行われた全回数で割った値が、予め定められた閾値以上であるという条件を満たす場合に、当該パスワードが推測容易であると判定することを特徴とする。
また、好ましくは、上記の判定部は、前記選択キーの中に、複数回選択された選択キーが含まれ、複数回選択された当該選択キーが予め定められた条件を満たす場合に、前記パスワードが推測容易であると判定することを特徴とする。
そして、上記のシステムは、前記選択キーが予め定められた補正条件を満たす場合に、当該選択キーが有する隣接キーの数を加算する補正を行う補正部をさらに備えたことを特徴とする。
また、上記の補正部は、前記予め定められた補正条件として、前記選択キーの中に、3つ以上連続して隣接する位置関係にある複数の選択キーが含まれるという条件を満たす場合に、3つ以上連続して隣接する位置関係にある当該選択キーが有する隣接キーの数を加算する補正を行うことを特徴とする。
さらに、上記の補正部は、前記予め定められた補正条件として、前記選択キーの中に、複数回選択された選択キーが含まれるという条件を満たす場合に、複数回選択された当該選択キーが有する隣接キーの数を加算する補正を行うことを特徴とする。
また、本発明は、次のようなシステムとして実現される。このシステムは、キーボードに配置されたキーの選択によりパスワードの入力を受け付ける受付部と、パスワードの入力に用いられる前記キーボードのキー配列を示すキー配列情報を記憶する記憶部と、前記記憶部にて記憶された前記キー配列情報を参照して、前記受付部にて受け付けた複数の前記選択されたキー(選択キー)のそれぞれについて、当該選択キーに隣接する他のキー(隣接キー)を検出するキー検出部と、前記キー検出部にて検出された前記隣接キーの数が2つ以上ある選択キーの数に基づき所定の値を算出する算出部と、前記算出部により算出された値と予め定められた閾値とを比較し、当該算出された値が当該予め定められた閾値以上である場合に、前記パスワードが推測容易であると判定する判定部と、前記判定部による判定結果を表示する表示部とを備える。
さらに、本発明は、複数のキーが配置されたキー配置部からキーが選択されることにより、パスワードの入力を受け付けるステップと、前記パスワードに含まれる複数の前記選択されたキー(選択キー)のそれぞれについて、隣接する他の選択キー(隣接キー)があるかどうかを検出し、隣接キーに関して予め定められた条件を満たす場合に、当該パスワードが推測容易であると判定するステップとを含む方法も提供する。
そして、本発明は、コンピュータを制御して上述したシステムの各機能を実現するプログラム、またはコンピュータに上記の方法における各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
本発明によれば、キーの配置を利用した推測容易なパスワードの使用を抑制することが可能になる。
本実施の形態に係るパスワード検証システムの機能構成例を示したブロック図である。 隣接する位置関係にあるキーの一例を説明するための図である。 互いに隣接する位置関係にある選択キーを検出する処理の一例を説明するための図である。 図3で斜線を付した選択キーにおける検出結果の一例を示す図である。 図4に示す検出結果に対して補正が行われた場合の一例を示す図である。 (a)、(b)は、検出回数の補正が行われる3つの選択キーの配列の一例を示した図である。 図6(a)、(b)に示す各キー配列について、補正前の検出回数および補正後の検出回数の一例を示した図である。 パスワードを入力する際にキーの選択が行われた全回数が8から11までの場合のパスワード判定値の一例を示す図である。 (a)、(b)は、パスワード判定の一例を説明するための図である。 (a)、(b)は、パスワード判定の一例を説明するための図である。 (a)、(b)は、パスワード判定の一例を説明するための図である。 (a)、(b)は、パスワード判定の一例を説明するための図である。 (a)、(b)は、パスワード判定の一例を説明するための図である。 パスワード検証システムの処理手順の一例を示したフローチャートである。 本実施の形態に係るパスワード検証システムを構成するのに好適なハードウェア構成例を示す図である。 (a)、(b)は、キーの物理配列の特徴を利用したパスワードの一例を説明するための図である。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。本実施の形態に係るパスワード検証システム10は、ユーザが初めて情報システムを利用する際に認証用としてパスワードを登録する場合や、一度登録したパスワードを変更して新たなパスワードを登録する場合などに、パスワードがキーの物理配列の特徴を利用しており、推測容易であるか否かを判定する。そして、パスワード検証システム10は、パスワードが推測容易であると判定した場合には、その旨をユーザに通知する。
<パスワード検証システム10の機能構成>
まず、本実施の形態に係るパスワード検証システム10の機能構成について説明する。図1は、本実施の形態に係るパスワード検証システム10の機能構成例を示したブロック図である。図示するように、パスワード検証システム10は、パスワード受付部11と、隣接位置検出部12と、検出回数補正部13と、パスワード判定部14と、表示部15とを備える。また、パスワード検証システム10は、入力パスワードデータベース(入力パスワードDB)16と、キーボードデータベース(キーボードDB)17と、検出結果データベース(検出結果DB)18と、キー判定結果データベース(キー判定結果DB)19とを備える。
受付部の一例としてのパスワード受付部11は、ユーザにより入力されたパスワードを受け付ける。パスワードは、ユーザが、複数のキーが配置されたキー配置部(例えば、キーボード)を操作してキーを選択することにより、入力される。ここで、入力パスワードDB16には、パスワード受付部11が受け付けることを許可するパスワードのルールが格納されている。即ち、パスワード受付部11は、入力パスワードDB16に格納されているパスワードルールを参照し、入力されたパスワードがパスワードルールに従っていれば、パスワードを受け付ける。このパスワードルールには、例えば、許可されるパスワードの文字数(例えば、5文字以上など)や、パスワードとして許可される文字の種類(例えば、アルファベット、数字及び記号など)が規定されている。そして、パスワード受付部11は、受け付けたパスワードを入力パスワードDB16に格納する。
キー検出部、算出部の一例としての隣接位置検出部12は、入力パスワードDB16に格納されたパスワード(即ち、パスワード受付部11にて受け付けたパスワード)において、パスワードを入力する際に選択された各キー(以下、パスワードを入力する際に選択されたキーを、選択キーと称する)について、互いに隣接する位置関係にある他の選択キーを検出する。
ここで、隣接位置検出部12は、まず、キーボードDB17から、パスワードの入力のためにユーザが使用しているキーボードのキー配列を示す情報を取得する。そして、隣接位置検出部12は、取得したキー配列の情報を参照して、各選択キーについて、選択キーの上下、左右、斜めなど、その選択キーの外周に配置され隣接する位置関係にある他のキーを検出する。次に、隣接位置検出部12は、各選択キーについて検出した隣接する他のキーの情報をもとに、互いに隣接する位置関係にある他の選択キーを検出する。隣接位置検出部12は、検出結果として、各選択キーについて、隣接する位置関係にあるとして検出された他の選択キーの数(以下、検出回数と称する)を、検出結果DB18に格納する。本実施の形態では、隣接キーの一例として、隣接する他の選択キーが用いられる。
図2は、隣接する位置関係にあるキーの一例を説明するための図である。図2に示す例では、斜線を付した「t」について、上下、左右、斜めなどの外周に隣接する位置関係にある他のキーが、斜線を付した「5」、「6」、「y」、「g」、「f」、「r」であることを示している。ここで、例えば、パスワードの文字の1つが「t」であり、さらにパスワードに「f」、「r」の2つの文字が含まれている場合、隣接位置検出部12は、選択キーである「t」について、隣接する位置関係にある他の選択キーは「f」、「r」であるとして検出する。そして、隣接位置検出部12は、「t」の検出回数は「2」(2回)として、検出結果DB18に格納する。
補正部の一例としての検出回数補正部13は、隣接位置検出部12により検出された各選択キーの検出回数について、予め定められた補正条件に従って補正を行う。そして、検出回数補正部13は、補正の結果をもとに、検出結果DB18に格納されている各選択キーの検出回数を更新する。予め定められた補正条件の詳細については、後述する。
判定部の一例としてのパスワード判定部14は、検出結果DB18に格納されている各選択キーの検出回数をもとに、入力されたパスワードが、キーの物理配列の特徴を利用しており、推測容易であるか否かを判定する。ここで、パスワード判定部14は、判定対象となるパスワードを構成する文字や記号の総数、即ち、パスワードを入力する際にキーの選択が行われた全回数と、選択キーのうち検出回数が2回以上である選択キーの数とを用いて、判定を行う。パスワード判定部14によるパスワード判定の詳細については、後述する。また、パスワード判定部14は、判定結果を表示部15に出力するとともに、キー判定結果DB19に格納する。
表示部の一例としての表示部15は、例えば液晶ディスプレイ等の表示装置であり、パスワード判定部14による判定結果を表示し、ユーザに通知する。パスワード判定部14により、パスワードがキーの物理配列の特徴を利用したものであると判定された場合、表示部15は、例えば、パスワードが推測容易であるため、変更する必要がある旨のメッセージを表示する。
入力パスワードDB16は、ユーザが入力するパスワードに対して予め定められたパスワードルールを格納する。また、入力パスワードDB16は、パスワード受付部11にて受け付けたパスワードを格納する。
記憶部の一例としてのキーボードDB17は、ユーザが使用するキーボードのキー配列の情報を格納する。ユーザが使用するキーボードとしては、例えば、使用するOS(Operating System)に応じて、マイクロソフト社製のWindows(登録商標)用のキーボードや、アップル社製のMacintosh(登録商標)用のキーボードなどが存在する。また、キーボードの製造元に応じてキーボードのキー配列が異なる場合もある。キーボードDB17には、ユーザが使用する可能性のある各種のキーボードのキー配列の情報が格納されている。そして、隣接位置検出部12は、ユーザがパスワードの入力に使用したキーボードに対応するキー配列の情報を、キーボードDB17から取得するものとする。
検出結果DB18は、隣接位置検出部12による検出結果として、各選択キーについて検出回数を格納する。
キー判定結果DB19は、パスワード判定部14によるパスワードの判定結果を格納する。
<隣接する位置関係にある選択キーの検出>
次に、隣接位置検出部12が、各選択キーについて互いに隣接する位置関係にある他の選択キーを検出する処理に関して、詳細に説明する。図3は、互いに隣接する位置関係にある選択キーを検出する処理の一例を説明するための図である。図3に示す例では、斜線を付した「w,r,d,c,7,u,k,p」の8つのキーを示しており、これらのキーを順番に選択することにより8文字のパスワード(例えば、wrdc7ukp)が入力される。ここで、キーがどのような順番で選択されて8文字のパスワードが入力されたとしても、隣接位置検出部12が検出する各選択キーの検出回数は変わらない。即ち、例えば、「wrdc7ukp」というパスワードでも、「dc7rupkw」というパスワードでも、各選択キーの検出回数は同じであり、どのような順番でキーが選択されたとしても、パスワードに対する判定結果は同じになる。
隣接位置検出部12は、まず、各選択キーについて、その選択キーの外周に配置され隣接する位置関係にある他のキーを検出する。例えば、「w」の場合、隣接位置検出部12は、隣接する位置関係にある他のキーが、「2」、「3」、「e」、「s」、「a」、「q」であることを検出する。次に、隣接位置検出部12は、各選択キーについて、検出した隣接する他のキーの情報をもとに、互いに隣接する位置関係にある他の選択キーを検出し、検出回数をカウントする。
ここで、隣接位置検出部12は、キーボード上で左から右に向かって、選択キーごとに検出回数をカウントする。また、上下の位置関係にある選択キーについては、上の選択キーから先に検出回数のカウントが行われる。即ち、図3に示す例では、「w,r,d,c,7,u,k,p」の8つの選択キーに対して、隣接位置検出部12が検出回数をカウントする順番は、「w→d→r→c→7→u→k→p」となる。
また、隣接位置検出部12は、各選択キーの検出回数をカウントする際に、カウントする順番が隣同士の2つの選択キーが、連続して隣接する位置関係にある場合、2つの検出回数の間にプラス(+)の記号を付ける。一方、隣接位置検出部12は、カウントする順番が隣同士の2つの選択キーが、連続して隣接する位置関係にない場合、2つの検出回数の間にマイナス(−)の記号を付ける。
具体的には、例えば、最初に検出回数のカウントが行われる「w」は、隣接する他の選択キーが存在しない。また、「w」と、次に検出回数のカウントが行われる「d」との間には選択キーがないため、「w」と「d」とは連続して隣接する位置関係にないといえる。そのため、「w」の検出回数は「0」とカウントされ、「w」の検出回数(即ち、「0」)と「d」の検出回数との間には、マイナス(−)の記号が付される。
「w」の次に検出回数のカウントが行われる「d」は、他の選択キーである「r」、「c」に隣接するため、検出回数は「2」とカウントされる。また、「d」と、次に検出回数のカウントが行われる「r」とは隣接しているため、両者は連続して隣接する位置関係にあるといえる。そのため、「d」の検出回数(即ち、「2」)と「r」の検出回数との間には、プラス(+)の記号が付される。
「d」の次に検出回数のカウントが行われる「r」は、他の選択キーである「d」に隣接するため、検出回数は「1」とカウントされる。また、「r」と、次に検出回数のカウントが行われる「c」との間には、「d」があり、「r」、「d」、「c」が連続して隣接している。即ち、「r」と「c」とは連続して隣接する位置関係にあるといえる。そのため、「r」の検出回数(即ち、「1」)と「c」の検出回数との間には、プラス(+)の記号が付される。
以降の「c」、「7」、「u」、「k」、「p」についても同様に検出回数のカウントが行われ、それぞれ、「1」、「1」、「1」、「0」、「0」となる。また、「c」と「7」とは連続して隣接する位置関係にないため、「c」の検出回数(即ち、「1」)と「7」の検出回数(即ち、「1」)との間には、マイナス(−)の記号が付される。また、「7」と「u」とは連続して隣接する位置関係にあるため、「7」の検出回数(即ち、「1」)と「u」の検出回数(即ち、「1」)との間には、プラス(+)の記号が付される。「u」と「k」とは連続して隣接する位置関係にないため、「u」の検出回数(即ち、「1」)と「k」の検出回数(即ち、「0」)との間には、マイナス(−)の記号が付される。「k」と「p」とは連続して隣接する位置関係にないため、「k」の検出回数(即ち、「0」)と「p」の検出回数(即ち、「0」)との間には、マイナス(−)の記号が付される。また、「p」は検出回数を最後にカウントされるキーであるため、「p」の検出回数の後には記号は付されない。
図4は、図3で斜線を付した選択キーにおける検出結果の一例を示す図であり、「w,d,r,c,7,u,k,p」の8つの選択キーについて、検出結果が示されている。例えば、選択キー「d」について、隣接する位置関係にある他の選択キーが「r」、「c」であり、検出回数が「2」であることが示されている。そして、各選択キーの検出回数を並べた配列が、「0−2+1+1−1+1−0−0」になることが示されている。この検出回数の配列は、検出回数補正部13による検出回数の補正に用いられる。そして、隣接位置検出部12は、図4に示すような各選択キーについての検出結果を、検出結果DB18に格納する。
<検出回数の補正>
次に、検出回数補正部13による検出回数の補正について、詳細に説明する。検出回数補正部13は、各選択キーにおける検出回数を並べた配列をもとに、検出回数の補正を行う。具体的には、検出回数補正部13は、3つ以上の選択キーが連続して隣接する位置関係にある場合に、3つ以上連続して隣接する選択キーの検出回数を補正する。選択キーが3つ以上連続して隣接する位置関係にあれば、選択キーの配列に特徴がありキーの物理配列を利用したパスワードである可能性が高いといえる。しかし、3つ以上連続している選択キーのうち端にある選択キーは、隣接する選択キーが少ないため、検出回数が「1」となる場合がある。そのため、検出回数補正部13は、3つ以上連続して隣接する位置関係にある選択キーについて、検出回数が「1」であれば、その検出回数を加算する補正を行う。
また、いくつの選択キーが連続して隣接する位置関係にあるかは、検出回数を並べた配列においてプラス(+)でつながった検出回数の数をカウントすることで判断される。例えば、検出回数を並べた配列において、2つのプラス(+)が続いていれば、3つの選択キーが連続して隣接する位置関係にあるといえる。即ち、検出回数を並べた配列において、2つ以上のプラス(+)が続いている場合、3つ以上の選択キーが連続して隣接する位置関係にあることとなり、検出回数の補正が行われる。
図4に示す例では、「d,r,c」の検出回数の配列は、「2+1+1」であり、2つのプラス(+)が続いている。そのため、3つの選択キーが連続して隣接する位置関係にあるといえる。また、図3に示すように、「d,r,c」は、実際に、連続して隣接する位置関係にあるキーであることがわかる。そして、検出回数補正部13は、「d,r,c」のうち検出回数が「1」の選択キーに対して、検出回数を「プラス1」する補正を行う。補正が行われたことにより、「r」及び「c」の検出回数が、「1」から「2」に変更される。
図5は、図4に示す検出結果に対して補正が行われた場合の一例を示す図である。「w,d,r,c,7,u,k,p」の8つの選択キーのうち、3つ以上連続して隣接する位置関係にある選択キーは、「d,r,c」のみである。そのため、上記のように「r」、「c」の検出回数が補正され、図5に示すように「1」から「2」に変更される。
次に、検出回数の補正が行われる3つの選択キーの具体的な配列について説明する。図6(a)、(b)は、検出回数の補正が行われる3つの選択キーの配列の一例を示した図である。図6(a)、(b)に示すキー配列(1)〜(9)は、斜線を付した3つの選択キーが連続して隣接する位置関係にある。そのため、3つの選択キーのうち検出回数が「1」のキーに対して、補正が行われる。
図7は、図6(a)、(b)に示す各キー配列について、補正前の検出回数および補正後の検出回数の一例を示した図である。例えば、図6(a)に示すキー配列(1)では、初めに、キーボードの左側に位置する選択キーから右に向かって順番に、検出回数が「1」、「2」、「1」とカウントされる。そのため、検出回数の補正前には、選択キーの検出回数を並べた配列は、「1+2+1」として表される。一方、検出回数の補正が行われることにより、補正後の検出回数は、「2+2+2」と表される。キー配列(1)と同様に、他のキー配列(2)〜(9)についても、検出回数が「1」を示す選択キーについて補正が行われ、検出回数が「2」に変更される。
<パスワード判定>
次に、パスワード判定部14によるパスワード判定に関して、詳細に説明する。パスワード判定部14は、各選択キーの検出回数をもとに、入力されたパスワードがキーの物理配列の特徴を利用しているか否か、即ち、パスワードが推測容易であるか否かを判定する。ここで、パスワード判定部14は、パスワードを入力する際にキーの選択が行われた全回数と、選択キーの中で検出回数が2回以上である選択キーの数とを用いて、判定を行う。具体的には、パスワード判定部14は、「検出回数が2回以上の選択キーの数」を「パスワードを入力する際にキーの選択が行われた全回数」で割った値(以下、パスワード判定値と称する)を、予め定められた閾値と比較する。そして、パスワード判定値が閾値以上であれば、パスワード判定部14は、パスワードがキーの物理配列の特徴を利用しており、推測容易であると判定する。
例えば、図5に示す例では、パスワードは8文字であるため、「キーの選択が行われた全回数」は「8」で、「検出回数が2回以上の選択キーの数」は「3」である。そのため、パスワード判定値は、「3」を「8」で割ることにより算出され、「0.375」となる。そして、予め定められた閾値が例えば「1」であれば、パスワード判定値は閾値より小さいため、パスワード判定部14は、判定対象のパスワードがキーの物理配列の特徴を利用しておらず、推測容易ではないと判定する。予め定められた閾値は、ユーザの操作などにより、入力パスワードDB16に格納されているものとする。
図8は、パスワードを入力する際にキーの選択が行われた全回数が8から11までの場合のパスワード判定値の一例を示す図である。例えば、キーの選択が行われた全回数が「8」の場合、検出回数が2回以上の選択キーの数が「8」であれば、パスワード判定値は「1」となる。また、例えば、検出回数が2回以上の選択キーの数が「7」であれば、パスワード判定値は「0.875」となる。同様に、例えば、キーの選択が行われた全回数が「9」の場合、検出回数が2回以上の選択キーの数が「9」、「8」であれば、パスワード判定値はそれぞれ、「1」、「0.889」となる。さらに、例えば、キーの選択が行われた全回数が「10」の場合、検出回数が2回以上の選択キーの数が「10」、「9」であれば、パスワード判定値はそれぞれ、「1」、「0.9」となる。
ここで、予め定められた閾値を「1」とすると、例えば、キーの選択が行われた全回数が「9」の場合、検出回数が2回以上の選択キーの数が「9」であれば、パスワード判定値と閾値とは同じである。そのため、パスワード判定部14は、パスワードがキーの物理配列の特徴を利用していると判定する。一方、検出回数が2回以上の選択キーの数が「8」であれば、パスワード判定値は「0.889」であり、閾値よりも小さい。そのため、パスワード判定部14は、パスワードがキーの物理配列の特徴を利用していないと判定する。
ただし、パスワードに求められる強度は、ユーザが使用する情報システムの役割や用途などに応じて変わるため、予め定められた閾値の値は、使用される情報システムに応じて決められるものとする。例えば、閾値を「1」にすると、検出回数が2回に満たない選択キーが1つでも存在すれば、パスワードがキーの物理配列を利用しておらず、推測容易ではないと判定される。一方、閾値を小さくするほど、パスワード判定値の方が大きいと判定され易くなる。即ち、パスワードがキーの物理配列を利用し推測容易であると判定され易くなり、パスワードに求める条件が強化されることとなる。
また、特にパスワードの文字数が多い場合には、検出回数が2回に満たない選択キーが一部存在したとしても、他の大部分の文字の選択キーが物理配列の特徴を利用していることも考えられる。そのため、閾値を小さい値にして、パスワードに求める条件を強化することが考えられる。例えば、キーの選択が行われた全回数が「11」の場合に、予め定められた閾値を「0.8」とすると、検出回数が2回以上の選択キーの数が「11」、「10」、「9」の場合の全てで、パスワード判定値の方が閾値よりも大きくなる。そのため、パスワードがキーの物理配列の特徴を利用していると判定されることとなる。
さらに、予め定められた閾値を複数定めて、パスワードに対する判定結果をいくつかの段階に分けてユーザに通知することとしても良い。例えば、予め定められた閾値を「1」、「0.9」の二つ定めることとすると、パスワード判定値が1を示す場合には、パスワードはキーの物理配列の特徴を利用しているため、パスワードとして許可されず、パスワードを変更するようにユーザに通知する対応が考えられる。一方、例えば、パスワード判定値が0.9以上1未満を示す場合には、パスワードとして許可はされるが、パスワードがキーの物理配列の特徴を利用している可能性が高いとして、推測容易の危険性があることをユーザに通知する対応などが考えられる。
<パスワード判定の具体例>
次に、パスワード判定について具体例を示して説明する。図9(a)(b)、図10(a)(b)、図11(a)(b)、図12(a)(b)、図13(a)(b)のそれぞれは、パスワード判定の一例を説明するための図である。
まず、図9(a)、(b)に示す例では、斜線を付した「5,f,g,y,b,7,u,j」の8つのキーを用いて、8文字のパスワードが入力される。まず、最初に検出回数のカウントが行われる「5」は、隣接する他の選択キーがない。また、「5」と、次に検出回数のカウントが行われる「f」との間には選択キーがなく、「5」と「f」とは連続して隣接する位置関係にないといえる。そのため、「5」の検出回数は「0」とカウントされ、「5」の検出回数(即ち、「0」)と「f」の検出回数との間には、マイナス(ー)の記号が付される。
それ以降の「f」、「g」、「y」、「b」、「7」、「u」、「j」は、それぞれ隣接する位置関係にある他の選択キーを有しており、7つの選択キーが連続して隣接する位置関係にあるといえる。そのため、「f,g,y,b,7,u,j」の検出回数を並べた配列は、「1+3+3+1+2+3+1」となる。さらに、検出回数が「1」となる選択キーに対して検出回数の補正が行われ、「f」、「b」、「j」に対して「プラス1」の補正が行われる。最終的には、「5,f,g,y,b,7,u,j」の選択キーにおける補正後の検出回数は、「0−2+3+3+2+2+3+2」と表される。
ここで、パスワードは8文字であるため、「キーの選択が行われた全回数」は「8」で、「検出回数が2回以上の選択キーの数」は、「f」、「g」、「y」、「b」、「7」、「u」、「j」の「7」である。そのため、パスワード判定値は「7」を「8」で割ることにより算出され、「0.875」となる。そして、予め定められた閾値が例えば「1」であれば、パスワード判定値は閾値より小さいため、パスワード判定部14は、判定対象の8文字のパスワードがキーの物理配列の特徴を利用していないと判定する。
次に、図10(a)、(b)に示す例では、斜線を付した「1,q,a,z,x,d,r,5」の8つのキーを用いて、8文字のパスワードが入力される。まず、最初に検出回数のカウントが行われる「1」は、「q」と隣接している。そのため、「1」の検出回数は「1」とカウントされ、「1」の検出回数(即ち、「1」)と「q」の検出回数との間には、プラス(+)の記号が付される。同様に、それ以降の「q」、「a」、「z」、「x」、「d」、「r」はそれぞれ、隣接する位置関係にある他の選択キーを2つ有している。また、「5」は、「r」と隣接している。そのため、「1,q,a,z,x,d,r,5」の検出回数を並べた配列は、「1+2+2+2+2+2+2+1」となる。さらに、検出回数が「1」となる選択キーに対して検出回数の補正が行われ、「1」、「5」に対して「プラス1」の補正が行われる。最終的には、「1,q,a,z,x,d,r,5」の選択キーにおける補正後の検出回数は、「2+2+2+2+2+2+2+2」と表される。
ここで、パスワードは8文字であるため、「キーの選択が行われた全回数」は「8」で、「検出回数が2回以上の選択キーの数」も「8」である。そのため、パスワード判定値は「8」を「8」で割ることにより算出され、「1」となる。そして、予め定められた閾値が例えば「1」であれば、パスワード判定値は閾値と同じであるため、パスワード判定部14は、判定対象の8文字のパスワードがキーの物理配列の特徴を利用しており、推測容易であると判定する。
次に、図11(a)、(b)に示す例では、斜線を付した「1,q,a,z,m,k,o,0」の8つのキーを用いて、8文字のパスワードが入力される。まず、最初に検出回数のカウントが行われる「1」は、「q」と隣接している。そのため、「1」の検出回数は「1」とカウントされ、「1」の検出回数(即ち、「1」)と「q」の検出回数との間には、プラス(+)の記号が付される。同様に、それ以降の「q」、「a」、「k」、「o」はそれぞれ、隣接する位置関係にある他の選択キーを2つ有している。また、「z」、「m」、「0」はそれぞれ、隣接する位置関係にある他の選択キーを1つ有している。さらに、「1,q,a,z」、「m,k,o,0」はそれぞれ、4つの選択キーが連続して隣接している。ただし、「z」と「m」との間には、選択キーは存在しない。
そのため、「1,q,a,z,m,k,o,0」の検出回数を並べた配列は、「1+2+2+1−1+2+2+1」となる。さらに、検出回数が「1」となる選択キーに対して検出回数の補正が行われ、「1」、「z」、「m」、「0」に対して「プラス1」の補正が行われる。最終的には、「1,q,a,z,m,k,o,0」の選択キーにおける補正後の検出回数は、「2+2+2+2−2+2+2+2」と表される。
ここで、パスワードは8文字であるため、「キーの選択が行われた全回数」は「8」で、「検出回数が2回以上の選択キーの数」も「8」である。そのため、パスワード判定値は「8」を「8」で割ることにより算出され、「1」となる。そして、予め定められた閾値が例えば「1」であれば、パスワード判定値は閾値と同じであるため、パスワード判定部14は、8文字の判定対象のパスワードがキーの物理配列の特徴を利用しており、推測容易であると判定する。
図11(a)に示す選択キーのキー配列は、図10(a)に示すキー配列「x,d,r,5」の代わりに、「x,d,r,5」を右に平行にずらした位置にあるキー配列「m,k,o,0」を使用するものである。図10(a)に示す例では、8つの選択キーが連続して隣接する構成であり、図11(a)に示す例では、4つの連続した選択キーが2つある構成であるが、本実施の形態では、両者のパスワード判定値は同じ値となり、パスワード判定も同じ結果となる。
次に、図12(a)、(b)に示す例では、斜線を付した「e,s,x,7,h,u」の6つのキーを用いて、8文字のパスワードが入力される。即ち、同じキーを複数回用いてパスワードが入力される。図示の例では、「e」及び「7」が2回用いられ、例えば「eesx77uh」や、「7esx7ehu」などのパスワードが入力されるものとする。そして、選択キーの検出回数は、「s,e,e,x,7,7,h,u」の順番にカウントされる。
まず、最初に検出回数のカウントが行われる「s」は、「x」、「e」と隣接している。そのため、「s」の検出回数は「2」とカウントされ、「s」の検出回数(即ち、「2」)と次の「e」の検出回数との間には、プラス(+)の記号が付される。次に、「e」は「s」と隣接しているため、「e」の検出回数は「1」とカウントされる。また、「e」の次には、同じキーである「e」の検出回数が再度カウントされることとなる。
ここで、同じキー同士は物理的には隣接しているとは言えないが、同じキーが選択されると同じ文字・記号が入力されることになるため、パスワードとしてはより単純な構成になる。即ち、キーの物理配列を利用したパスワードである可能性が高くなるといえる。例えば、1つの文字だけを連続して用いて構成されるパスワードや、2つの文字を交互に用いて構成されるパスワードなどは、キーの物理配列を利用したパスワードであるといえる。
そのため、本実施の形態では、同じキーが複数回選択された場合には、キーの物理配列を利用した可能性が高いとして、複数回選択されたキーの検出回数に「プラス2」をして、検出回数を加算する補正が行われる。また、同じキー同士の場合には連続して隣接する位置関係にあるものと考えて、両者の検出回数の間にはプラス(+)の記号が付されるものとする。
次に、「x」は「s」と隣接しているため検出回数は「1」となり、「x」と、次に検出回数のカウントが行われる「7」との間には、選択キーがないため、「x」の検出回数(即ち、「1」)と「7」の検出回数との間には、マイナス(−)の記号が付される。次に、「7」は「u」と隣接しているため検出回数は「1」となり、連続して「7」の検出回数がカウントされるため、「7」の検出回数と次の「7」の検出回数との間には、プラス(+)の記号が付される。それ以降の「h」、「u」についてもこれまでと同様に検出回数がカウントされる。
そして、「s,e,e,x,7,7,h,u」の検出回数を並べた配列は、「2+1+1+1−1+1+1+2」となる。ここで、複数回選択された選択キーに対して検出回数の補正が行われ、「e」、「7」に対して「プラス2」の補正が行われる。そのため、「s,e,e,x,7,7,h,u」の検出回数を並べた配列は、「2+3+3+1−3+3+1+2」と表される。また、検出回数が「1」となる選択キーに対して検出回数の補正が行われ、「x」、「h」に対して「プラス1」の補正が行われる。最終的には、「s,e,e,x,7,7,h,u」の選択キーにおける補正後の検出回数は、「2+3+3+2−3+3+2+2」と表される。
ここで、パスワードは8文字であるため、「キーの選択が行われた全回数」は「8」で、「検出回数が2回以上の選択キーの数」も「8」である。そのため、パスワード判定値は「8」を「8」で割ることにより算出され、「1」となる。そして、予め定められた閾値が例えば「1」であれば、パスワード判定値は閾値と同じであるため、パスワード判定部14は、8文字の判定対象のパスワードがキーの物理配列の特徴を利用していると判定する。
また、図12(a)、(b)に示す例では、複数回選択された選択キーに対して「プラス2」の補正を行った後、検出回数が「1」の選択キーに対する「プラス1」の補正を行うこととしたが、このような構成に限られるものではない。例えば、先に、検出回数が「1」の選択キーに対する補正を行うこととしても良い。この場合には、例えば、まず、検出回数が「1」となる選択キー「e」、「7」、「x」、「h」に対して「プラス1」の補正が行われ、「s,e,e,x,7,7,h,u」の検出回数を並べた配列は、「2+2+2+2−2+2+2+2」と表される。その後、複数回選択された選択キー「e」、「7」に対して「プラス2」の補正が行われる。
図13(a)、(b)に示す例では、斜線を付した「x,f,y,b」の4つのキーを用いて、8文字のパスワードが入力される。即ち、同じキーを複数回用いてパスワードが入力される。図示の例では、「x」が3回用いられ、「f」及び「y」が2回用いられ、例えば「xxxffyyb」や、「fyfxbxyx」などのパスワードが入力されるものとする。ここで、「x」、「f」、「y」、「b」の4つのキーは互いに隣接していないため、各キーの検出回数は「0」とカウントされる。ただし、「x」、「f」、「y」は複数回選択されており、パスワード判定部14は、このように互いに隣接する位置関係にある選択キーがない場合であっても、複数回選択された選択キーがあれば、入力されたパスワードを判定の対象として処理を行う。
図示の例では、選択キーの検出回数は、「x,x,x,f,f,y,y,b」の順番にカウントされる。そして、各選択キーは互いに隣接していないため、「x,x,x,f,f,y,y,b」の検出回数を並べた配列は、「0+0+0−0+0−0+0−0」となる。しかし、「x」、「f」、「y」は複数回選択されているため、「プラス2」の補正が行われる。そして、最終的には、「x,x,x,f,f,y,y,b」の選択キーにおける補正後の検出回数は、「2+2+2−2+2−2+2−0」と表される。
ここで、パスワードは8文字であるため、「キーの選択が行われた全回数」は「8」で、「検出回数が2回以上の選択キーの数」は「7」である。そのため、パスワード判定値は「7」を「8」で割ることにより算出され、「0.875」となる。そして、予め定められた閾値が例えば「1」であれば、パスワード判定値は閾値より小さいため、パスワード判定部14は、8文字の判定対象のパスワードがキーの物理配列の特徴を利用していないと判定する。一方、予め定められた閾値が例えば「0.8」であれば、パスワード判定値は閾値より大きいため、パスワード判定部14は、8文字の判定対象のパスワードがキーの物理配列の特徴を利用していると判定する。
<パスワード検証システム10の処理手順>
次に、パスワード検証システム10の処理手順について説明する。図14は、パスワード検証システム10の処理手順の一例を示したフローチャートである。初期状態として、キーボードDB17には、各種のキーボードのキー配列の情報が格納されているものとする。また、情報システムに応じて、パスワード判定に用いられる閾値が予め定められ、入力パスワードDB16に格納されているものとする。
まず、ユーザが初めて情報システムを利用する際などに、認証用として登録するパスワードを入力すると、パスワード受付部11は入力されたパスワードを受け付ける(ステップ101)。ここで、パスワード受付部11は、入力パスワードDB16に格納されているパスワードルールを参照し、入力されたパスワードがパスワードルールに従っていれば、パスワードを受け付ける。入力されたパスワードがパスワードルールに従っていなければ、表示部15は、例えば、パスワードルールに従っていない旨を表示し、異なるパスワードの入力をユーザに促す。そして、パスワード受付部11は、受け付けたパスワードを入力パスワードDB16に格納する(ステップ102)。
次に、隣接位置検出部12は、キーボードDB17から、ユーザが使用しているキーボードのキー配列を示す情報を取得する。そして、隣接位置検出部12は、入力パスワードDB16に格納されたパスワードを判定対象のパスワードとし、このパスワードを入力する際に選択された各選択キーについて、隣接する位置関係にある他のキーを検出する(ステップ103)。次に、隣接位置検出部12は、各選択キーについて検出した隣接する他のキーの情報をもとに、互いに隣接する位置関係にある他の選択キーを検出する(ステップ104)。そして、隣接位置検出部12は、判定対象のパスワードについて、互いに隣接する位置関係にある選択キーが存在するか否かを判定する(ステップ105)。
互いに隣接する位置関係にある選択キーが存在する場合(ステップ105でYes)、隣接位置検出部12は、各選択キーについて、互いに隣接する位置関係にある他の選択キーを検出した検出結果を検出結果DB18に格納する(ステップ106)。ここで、隣接位置検出部12は、検出結果として、各選択キーの検出回数を検出結果DB18に格納する。また、ステップ105において、隣接位置検出部12は、複数回選択された選択キーがある場合には、互いに隣接する位置関係にある選択キーが存在すると判定し(ステップ105でYes)、複数回選択された選択キーの情報を検出結果DB18に格納するものとする。一方、互いに隣接する位置関係にある選択キーが存在しない場合(ステップ105でNo)、後述するステップ109に移行する。
ステップ106の後、検出回数補正部13は、隣接位置検出部12により検出された各選択キーの検出回数について、予め定められた補正条件に従って補正を実行する(ステップ107)。ここで、検出回数補正部13は、3つ以上の選択キーが連続して隣接する位置関係にある場合、また、複数回選択された選択キーが存在する場合に、補正を実行する。そして、検出回数補正部13は、補正の結果をもとに、検出結果DB18に格納されている各選択キーの検出回数を更新する。次に、パスワード判定部14は、検出結果DB18に格納されている各選択キーの検出回数をもとに、検出回数が2回以上の選択キーの数を算出する(ステップ108)。
次に、パスワード判定部14は、パスワードを入力する際にキーの選択が行われた全回数と、ステップ107で算出した、検出回数が2回以上の選択キーの数とを用いて、パスワード判定値を求める。そして、パスワード判定部14は、求めたパスワード判定値と予め定められた閾値とを比較することにより、判定対象のパスワードがキーの物理配列の特徴を利用した推測容易なパスワードであるか否かを判定する(ステップ109)。
ここで、ステップ105で否定の判断(No)がされた場合には、互いに隣接する位置関係にある選択キーが存在しないため、パスワード判定部14は、判定対象のパスワードがキーの物理配列の特徴を利用しているパスワードではないと判定する。そして、パスワード判定部14は、パスワード判定を行った後、判定結果を表示部15に出力するとともに、キー判定結果DB19に格納する。また、表示部15は、判定結果を表示してユーザに通知し、本処理フローは終了する。
以上説明したように、本実施の形態に係るパスワード検証システム10は、パスワードを入力する際に選択された各キーの配置をもとに、パスワードがキー配列の特徴を利用しており、推測容易であるか否かを判定する。パスワード検証システム10は、選択された各キーの隣接関係を検出して判定を行うため、ユーザは、キー配列の特徴を利用したパスワードであるとして検出対象のパスワードを予め登録しておく必要はない。
また、例えば、一筆書きに時計回りにキーの選択が行われたパスワードに対して、キーを選択する順番が入れ替わり、一見すると第三者から推測容易ではないと判断されるようなパスワードであっても、パスワード検証システム10を用いることにより、キー配列の特徴を利用したパスワードとして検出される。そして、パスワード検証システム10は、悪意のある第三者が、特徴的なキー配列の文字列に絞ってその中の文字を入れ替えてパスワードの割り出しを試みるような行為にも対応するものであり、キーの物理配列を利用した推測容易なパスワードの使用を抑制する。
<パスワード検証システム10のハードウェア構成例>
最後に、パスワード検証システム10のハードウェア構成について説明する。図15は、本実施の形態に係るパスワード検証システム10を構成するのに好適なハードウェア構成例を示す図である。ここでは、コンピュータに適用する場合について説明する。図15に示すコンピュータは、演算手段であるCPU(Central Processing Unit)10aと、主記憶手段であるメモリ10cを備える。また、外部デバイスとして、磁気ディスク装置(HDD:Hard Disk Drive)10g、ネットワーク・インターフェイス10f、ディスプレイ装置を含む表示機構10d、音声機構10h、キーボードやマウス等の入力デバイス10i等を備える。
図15に示す構成例では、メモリ10cおよび表示機構10dは、システム・コントローラ10bを介してCPU10aに接続されている。また、ネットワーク・インターフェイス10f、磁気ディスク装置10g、音声機構10hおよび入力デバイス10iは、I/Oコントローラ10eを介してシステム・コントローラ10bと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
また、図15において、磁気ディスク装置10gにはOSのプログラムやアプリケーション・プログラムが格納されている。そして、これらのプログラムがメモリ10cに読み込まれてCPU10aに実行されることにより、本実施の形態に係るパスワード検証システム10におけるパスワード受付部11、隣接位置検出部12、検出回数補正部13、パスワード判定部14の機能が実現される。また、メモリ10cや磁気ディスク装置10g等の記憶手段により、入力パスワードDB16、キーボードDB17、検出結果DB18、キー判定結果DB19が実現される。さらに、表示機構10dにより、表示部15が実現される。
なお、図15は、本実施の形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施の形態は、パスワードに対する判定を行う機能を有する装置に広く適用できるものであり、図示の構成においてのみ本実施の形態が実現されるのではない。
また、本実施の形態では、3つ以上の選択キーが連続して隣接する位置関係にある場合、またキーの選択が複数回行われた場合に、検出回数の補正が行われることとして説明したが、補正条件として用いられるものはこのような場合に限られるものではない。キーの物理配列の特徴を利用しているパスワードの判定のために採用すべき補正条件であれば、どのような補正条件を用いても良い。
さらに、本実施の形態では、パスワード判定部14は、検出回数が2回以上の選択キーの数を用いてパスワード判定値を求めることとしたが、このような構成に限られるものではない。パスワード判定部14は、例えば、検出回数が3回以上の選択キーの数を集計してパスワード判定値を求めることとしても良い。パスワード判定値の算出に用いるための検出回数の下限を高くするほど、パスワード判定値の算出に用いられる選択キーの数が少なくなるため、パスワード判定値は小さくなる。そのため、キーの物理配列の特徴を利用したパスワードであると判定されづらくなり、パスワードに求める条件を緩めることとなる。
また、本実施の形態では、パスワード検証システム10は、検出回数が2回以上の選択キーの数を、パスワードを入力する際にキーの選択が行われた全回数で割ってパスワード判定値を算出しパスワード判定を行うこととしたが、判定の処理はこのような構成に限られるものではない。例えば、パスワード検証システム10は、検出回数が2回以上の選択キーの数が予め定められた閾値を超えれば、パスワードがキーの物理配列の特徴を利用していると判定しても良く、選択キー同士の隣接関係をもとに判定を行うものであれば、どのような判定の処理を用いても良い。
さらに、本実施の形態では、ユーザはキーボードを用いてパスワードを入力する例について説明したが、このような構成に限られるものではない。例えば、金融機関などに設置されている現金自動預け払い機(いわゆる、ATM(Automated Teller Machine))で使用されるようなテンキーや、アルファベットや数字が表示された液晶タッチパネルなどを用いて入力されるパスワードに対して、パスワード判定が行われることとしても良い。
そして、本実施の形態では、ユーザが初めて情報システムを利用する場合やパスワードを変更する場合などにパスワード判定が行われることとしたが、このような構成に限られるものではない。例えば、パスワード検証システム10は、ユーザがパスワードを登録済みでユーザ認証のためにパスワードを入力する場合に、パスワード判定を行うこととしても良い。この場合、登録済みのパスワードと同じものが入力され、そのパスワードがキーの物理配列を利用したものであると判定されると、例えば、一度登録されたパスワードではあるが推測容易であるとして、パスワードの変更を促すメッセージが表示される。
さらにまた、本実施の形態では、パスワード判定部14による判定結果がキー判定結果DB19に格納されるため、パスワード受付部11が受け付けたパスワードについて、すでに判定結果がキー判定結果DB19に格納されていれば、格納されている判定結果に基づいて表示部15が表示を行うこととしても良い。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…パスワード検証システム、11…パスワード受付部、12…隣接位置検出部、13…検出回数補正部、14…パスワード判定部、15…表示部、16…入力パスワードDB、17…キーボードDB、18…検出結果DB、19…キー判定結果DB

Claims (9)

  1. 複数のキーが配置されたキー配置部からキーが選択されることにより、パスワードの入力を受け付ける受付部と、
    前記パスワードに含まれる複数の前記選択されたキー(選択キー)のそれぞれについて、隣接する他の選択キー(隣接キー)があるかどうかを検出し、隣接キーに関して予め定められた条件を満たす場合に、当該パスワードが推測容易であると判定する判定部とを備え、
    前記判定部は、複数の隣接キーを有する選択キーの数が、予め定められた条件を満たす場合に、前記パスワードが推測容易であると判定すること
    を特徴とするシステム。
  2. 前記判定部は、前記予め定められた条件として、複数の隣接キーを有する選択キーの数を、前記パスワードを入力する際にキーの選択が行われた全回数で割った値が、予め定められた閾値以上であるという条件を満たす場合に、当該パスワードが推測容易であると判定すること
    を特徴とする請求項1に記載のシステム。
  3. 前記判定部は、前記選択キーの中に、複数回選択された選択キーが含まれ、複数回選択された当該選択キーが予め定められた条件を満たす場合に、前記パスワードが推測容易であると判定すること
    を特徴とする請求項1又は2に記載のシステム。
  4. 前記選択キーが予め定められた補正条件を満たす場合に、前記判定部の判定において、当該選択キーが有する隣接キーの数を加算する補正を行う補正部
    をさらに備えたことを特徴とする請求項1乃至3のいずれか1項に記載のシステム。
  5. 前記補正部は、前記予め定められた補正条件として、前記選択キーの中に、3つ以上連続して隣接する位置関係にある複数の選択キーが含まれるという条件を満たす場合に、3つ以上連続して隣接する位置関係にある当該選択キーが有する隣接キーの数を加算する補正を行うこと
    を特徴とする請求項4に記載のシステム。
  6. 前記補正部は、前記予め定められた補正条件として、前記選択キーの中に、複数回選択された選択キーが含まれるという条件を満たす場合に、複数回選択された当該選択キーが有する隣接キーの数を加算する補正を行うこと
    を特徴とする請求項4に記載のシステム。
  7. キーボードに配置されたキーの選択によりパスワードの入力を受け付ける受付部と、
    パスワードの入力に用いられる前記キーボードのキー配列を示すキー配列情報を記憶する記憶部と、
    前記記憶部にて記憶された前記キー配列情報を参照して、前記受付部にて受け付けた複数の前記選択されたキー(選択キー)のそれぞれについて、当該選択キーに隣接する他のキー(隣接キー)を検出するキー検出部と、
    前記キー検出部にて検出された前記隣接キーの数が2つ以上ある選択キーの数に基づき所定の値を算出する算出部と、
    前記算出部により算出された値と予め定められた閾値とを比較し、当該算出された値が当該予め定められた閾値以上である場合に、前記パスワードが推測容易であると判定する判定部と、
    前記判定部による判定結果を表示する表示部と
    を備えるシステム。
  8. 複数のキーが配置されたキー配置部からキーが選択されることにより、パスワードの入力を受け付けるステップと、
    前記パスワードに含まれる複数の前記選択されたキー(選択キー)のそれぞれについて、隣接する他の選択キー(隣接キー)があるかどうかを検出し、隣接キーに関して予め定められた条件を満たす場合に、当該パスワードが推測容易であると判定するステップとを含み、
    前記判定するステップにおいて、複数の隣接キーを有する選択キーの数が、予め定められた条件を満たす場合に、前記パスワードが推測容易であると判定すること
    を特徴とする方法。
  9. コンピュータに、
    複数のキーが配置されたキー配置部からキーが選択されることにより、パスワードの入力を受け付ける機能と、
    前記パスワードに含まれる複数の前記選択されたキー(選択キー)のそれぞれについて、隣接する他の選択キー(隣接キー)があるかどうかを検出し、隣接キーに関して予め定められた条件を満たす場合に、当該パスワードが推測容易であると判定する機能とを実現させ、
    前記判定する機能は、複数の隣接キーを有する選択キーの数が、予め定められた条件を満たす場合に、前記パスワードが推測容易であると判定すること
    を特徴とするプログラム。
JP2014225627A 2014-11-05 2014-11-05 パスワードを検証するシステム、方法およびプログラム Active JP5943359B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014225627A JP5943359B2 (ja) 2014-11-05 2014-11-05 パスワードを検証するシステム、方法およびプログラム
US14/864,986 US9721088B2 (en) 2014-11-05 2015-09-25 Evaluation of a password
US15/665,526 US10083292B2 (en) 2014-11-05 2017-08-01 Evaluation of a password

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014225627A JP5943359B2 (ja) 2014-11-05 2014-11-05 パスワードを検証するシステム、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016091333A JP2016091333A (ja) 2016-05-23
JP5943359B2 true JP5943359B2 (ja) 2016-07-05

Family

ID=55852974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014225627A Active JP5943359B2 (ja) 2014-11-05 2014-11-05 パスワードを検証するシステム、方法およびプログラム

Country Status (2)

Country Link
US (2) US9721088B2 (ja)
JP (1) JP5943359B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5943359B2 (ja) 2014-11-05 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation パスワードを検証するシステム、方法およびプログラム
US10073538B2 (en) 2016-04-11 2018-09-11 International Business Machines Corporation Assessment of a password based on characteristics of a physical arrangement of keys of a keyboard
JP6680267B2 (ja) 2017-06-02 2020-04-15 京セラドキュメントソリューションズ株式会社 情報処理装置及び情報処理プログラム
JP6724871B2 (ja) 2017-06-22 2020-07-15 京セラドキュメントソリューションズ株式会社 表示入力装置およびそれを備えた画像形成装置
CN108121909A (zh) * 2017-12-12 2018-06-05 深圳中琛源科技股份有限公司 一种弱口令的检测方法、终端设备及存储介质
US11736472B2 (en) 2019-06-10 2023-08-22 Microsoft Technology Licensing, Llc Authentication with well-distributed random noise symbols
US11258783B2 (en) 2019-06-10 2022-02-22 Microsoft Technology Licensing, Llc Authentication with random noise symbols and pattern recognition
US20200389443A1 (en) * 2019-06-10 2020-12-10 Microsoft Technology Licensing, Llc Authentication with random noise symbols and pattern recognition
US11496457B2 (en) 2019-06-10 2022-11-08 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11240227B2 (en) * 2019-06-10 2022-02-01 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11514149B2 (en) 2019-06-10 2022-11-29 Microsoft Technology Licensing, Llc Pattern matching for authentication with random noise symbols and pattern recognition
US11178135B2 (en) 2019-06-10 2021-11-16 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11394551B2 (en) 2019-07-17 2022-07-19 Microsoft Technology Licensing, Llc Secure authentication using puncturing
US11133962B2 (en) 2019-08-03 2021-09-28 Microsoft Technology Licensing, Llc Device synchronization with noise symbols and pattern recognition
FI3825880T3 (en) * 2019-11-20 2023-01-13 Protected iot device reset
US11580202B2 (en) * 2020-03-05 2023-02-14 Capital One Services, Llc Systems and methods for employing a joystick sequence to authenticate a user

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394471A (en) 1993-09-17 1995-02-28 Bell Atlantic Network Services, Inc. Method and system for proactive password validation
JP2002041223A (ja) * 2000-07-17 2002-02-08 Internatl Business Mach Corp <Ibm> コンピュータシステム、オンスクリーン・キーボード生成方法、パワー・オン・パスワード照合方法及びメモリ
US7062655B2 (en) * 2002-01-23 2006-06-13 International Business Machines Corporation Method, system, and storage medium for determining trivial keyboard sequences of proposed passwords
US20120323788A1 (en) * 2002-02-05 2012-12-20 Cardinalcommerce Corporation Dynamic pin pad for credit/debit/other electronic transactions
JP4202740B2 (ja) 2002-12-18 2008-12-24 株式会社山武 パスワード作成支援方法及びパスワード作成支援プログラム
US7367053B2 (en) * 2002-10-11 2008-04-29 Yamatake Corporation Password strength checking method and apparatus and program and recording medium thereof, password creation assisting method and program thereof, and password creating method and program thereof
KR100483589B1 (ko) * 2002-12-23 2005-04-15 신화식 랜덤하게 배열된 자판을 이용하여 비밀번호를 입력하기위한 무인 단말기 및 잠금장치와 그 장치들을 이용한비밀번호 입력방법
US20050057512A1 (en) * 2003-07-17 2005-03-17 Min-Wen Du Browsing based Chinese input method
JP4306390B2 (ja) * 2003-09-29 2009-07-29 日本電気株式会社 パスワード認証装置、方法及びプログラム
US7788498B2 (en) * 2005-07-22 2010-08-31 Microsoft Corporation Triple-tap password entry
JP2007148703A (ja) 2005-11-25 2007-06-14 Fuji Xerox Co Ltd 画像形成装置、パスワード設定装置およびパスワード設定プログラム
JP4704369B2 (ja) 2007-01-26 2011-06-15 レノボ・シンガポール・プライベート・リミテッド コンピュータ・システムおよびユーザの認証方法
US9122867B2 (en) 2007-06-08 2015-09-01 International Business Machines Corporation Techniques for presenting password feedback to a computer system user
JP5163042B2 (ja) 2007-10-02 2013-03-13 富士通株式会社 情報処理装置、セキュリティ対策方法、およびコンピュータプログラム
US8196197B2 (en) * 2007-11-20 2012-06-05 International Business Machines Corporation Preventing trivial character combinations
US8108932B2 (en) * 2008-06-12 2012-01-31 International Business Machines Corporation Calculating a password strength score based upon character proximity and relative position upon an input device
JP5365120B2 (ja) 2008-09-25 2013-12-11 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
US9304602B2 (en) * 2009-12-20 2016-04-05 Keyless Systems Ltd. System for capturing event provided from edge of touch screen
JP2011154445A (ja) 2010-01-26 2011-08-11 Nec Corp 認証装置、認証方法、および認証プログラム
JP5594652B2 (ja) * 2010-01-27 2014-09-24 日本電気株式会社 携帯情報端末及びそのキー配置変更方法
US9104312B2 (en) * 2010-03-12 2015-08-11 Nuance Communications, Inc. Multimodal text input system, such as for use with touch screens on mobile phones
US20110239267A1 (en) 2010-03-23 2011-09-29 Lyne James I G Password complexity policy for externally controlled systems
US8539247B2 (en) 2010-06-22 2013-09-17 Cisco Technology, Inc. Password checking
JP5138736B2 (ja) * 2010-06-25 2013-02-06 京セラドキュメントソリューションズ株式会社 文字入力装置及び文字入力方法
US20120124654A1 (en) * 2010-11-16 2012-05-17 Evolucard S/A System and method for a secure user interface
DE102010060862A1 (de) * 2010-11-29 2012-05-31 Wincor Nixdorf International Gmbh Vorrichtung zum Lesen von Magnetstreifen- und/oder Chipkarten mit Touchscreen zur PIN-Eingabe
EP2686758B1 (en) * 2011-03-17 2020-09-30 Laubach, Kevin Input device user interface enhancements
US8843844B2 (en) * 2011-03-17 2014-09-23 Intellitact Llc Input device enhanced interface
US8973116B2 (en) * 2012-04-10 2015-03-03 Dropbox, Inc. Pattern entropy password strength estimator
JP5929572B2 (ja) * 2012-07-09 2016-06-08 コニカミノルタ株式会社 操作表示装置およびプログラム
JP5862888B2 (ja) * 2012-07-09 2016-02-16 コニカミノルタ株式会社 操作表示装置およびプログラム
US20140098141A1 (en) * 2012-10-10 2014-04-10 At&T Intellectual Property I, L.P. Method and Apparatus for Securing Input of Information via Software Keyboards
CN103793659B (zh) * 2012-10-31 2017-12-22 联想企业解决方案(新加坡)有限公司 设置密码的方法和系统以及验证密码的方法和系统
US9311472B2 (en) * 2012-12-21 2016-04-12 Abbott Laboratories Methods and apparatus for authenticating user login
JP5943359B2 (ja) 2014-11-05 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation パスワードを検証するシステム、方法およびプログラム
US10073538B2 (en) 2016-04-11 2018-09-11 International Business Machines Corporation Assessment of a password based on characteristics of a physical arrangement of keys of a keyboard

Also Published As

Publication number Publication date
US10083292B2 (en) 2018-09-25
US20170329960A1 (en) 2017-11-16
US9721088B2 (en) 2017-08-01
JP2016091333A (ja) 2016-05-23
US20160125182A1 (en) 2016-05-05

Similar Documents

Publication Publication Date Title
JP5943359B2 (ja) パスワードを検証するシステム、方法およびプログラム
US9817964B2 (en) Methods and apparatus to facilitate secure screen input
TWI626556B (zh) 解鎖方法及電子裝置
US9866549B2 (en) Antialiasing for picture passwords and other touch displays
US9946867B1 (en) Input mirroring
US10715320B2 (en) Password generation with key and derivation parameter
US20140380463A1 (en) Password setting and verification
JP5728629B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム、及び情報記憶媒体
US10585519B2 (en) Information processing apparatus and control method thereof
US9952707B2 (en) Password input device
US20140136850A1 (en) Password input system and method for inputting password
US10440007B1 (en) Symbolic feedback for user input
US20150101041A1 (en) Method and apparatus for user authentication
US20150046993A1 (en) Password authentication method and system
Lai et al. A shoulder-surfing resistant scheme embedded in traditional passwords
JP5568696B1 (ja) パスワード管理システム及びパスワード管理システム用プログラム
JP2015007941A (ja) パスワードの入力方法、入力端末、及び入力システム
WO2016036294A1 (en) Device and method for authenticating a user
JP2012194648A (ja) 認証サーバ、認証システム、及びサーバの認証方法
JP2015184717A (ja) 認証装置及びプログラム
JP6336796B2 (ja) 利用者判定装置及び利用者判定プログラム
JP2015148952A (ja) 情報処理装置および情報処理プログラム
CN111092721A (zh) 一种设置访问口令的方法及装置
KR102394614B1 (ko) 키패드 입력 장치 및 방법
KR101544166B1 (ko) 터치스크린을 이용한 데이터 입력 장치 및 방법과 이를 실행하기 위한 기록매체 및 프로그램

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160404

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160426

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160517

R150 Certificate of patent or registration of utility model

Ref document number: 5943359

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250