(57)【要約】【課題】パスワードの堅牢性とユーザの利便性を両立した認証を実現する。【解決手段】認証サーバ１６は、第１文字列と第２文字列を少なくとも含むユーザのパスワードを保持する。認証サーバ１６は、第１文字列を入力すべき第１エリアと、第２文字列を入力すべき第２エリアを少なくとも含む画面であり、第２エリアは、提示された複数の候補文字列の中から第２文字列を選択すべきエリアであるパスワード入力画面をユーザ端末１２に表示させる。認証サーバ１６は、パスワード入力画面の第１エリアに入力された文字列が第１文字列と一致する場合に、複数の候補文字列の中に第２文字列を含めるようにパスワード入力画面の第２エリアを設定する。認証サーバ１６は、パスワード入力画面の複数のエリアに入力された文字列の組み合わせがユーザのパスワードに一致する場合に、ユーザ認証に成功と判定する。【選択図】図１
2017161999.tif 000002
【特許請求の範囲】
【請求項１】
第１文字列と第２文字列を少なくとも含むように定められたユーザのパスワードを保持するパスワード保持部と、
前記第１文字列を入力すべき第１エリアと、前記第２文字列を入力すべき第２エリアを少なくとも含むパスワード入力画面であって、前記第２エリアは、提示された複数の候補文字列の中から前記第２文字列を選択すべきエリアであるパスワード入力画面を表示させる表示制御部と、
前記パスワード入力画面の第１エリアに入力された文字列が前記第１文字列と一致する場合に、前記複数の候補文字列の中に前記第２文字列を含めるように前記パスワード入力画面の第２エリアを設定する候補設定部と、
前記パスワード入力画面の複数のエリアに入力された文字列の組み合わせがユーザのパスワードに一致する場合に、ユーザ認証に成功と判定する認証部と、
を備えることを特徴とする認証システム。
【請求項２】
前記候補設定部は、前記パスワード入力画面の第１エリアに入力された文字列が前記第１文字列と不一致の場合、前記複数の候補文字列のいずれも前記第２文字列と異なるように前記パスワード入力画面の第２エリアを設定する請求項１に記載の認証システム。
【請求項３】
前記第１文字列は、ユーザのパスワードにおける先頭の文字列である請求項１または２に記載の認証システム。
【請求項４】
前記第２文字列は単語であり、
前記候補設定部は、前記複数の候補文字列のいずれにも前記第２文字列と同じ品詞の文字列を設定する請求項１から３のいずれかに記載の認証システム。
【請求項５】
前記表示制御部は、ユーザのパスワードがｎ個（ｎは２以上の整数）の文字列を含む場合に、文字列の入力が可能なエリアを少なくともｎ＋１個含むパスワード入力画面を表示させる請求項１から４のいずれかに記載の認証システム。
【請求項６】
前記表示制御部は、文字列の入力が可能な複数のエリアのうち少なくとも１つを、文字列内の各文字をユーザに手入力させるエリアに設定する請求項１から５のいずれかに記載の認証システム。
【請求項７】
ユーザのパスワードは、複数の単語で構成される文章であり、
前記表示制御部は、パスワード入力画面の複数のエリアのうち名詞の単語を入力すべきエリアの少なくとも１つを、提示された複数の候補文字列の中から正しい単語を選択すべきエリアに設定する請求項１から６のいずれかに記載の認証システム。
【請求項８】
ユーザのパスワード内の第１文字列を入力すべき第１エリアと、ユーザのパスワード内の第２文字列を入力すべき第２エリアを少なくとも含むパスワード入力画面であって、前記第２エリアは、提示された複数の候補文字列の中から前記第２文字列を選択すべきエリアであるパスワード入力画面を表示させるステップと、
前記パスワード入力画面の第１エリアに入力された文字列が前記第１文字列と一致する場合に、前記複数の候補文字列の中に前記第２文字列を含めるように前記パスワード入力画面の第２エリアを設定するステップと、
前記パスワード入力画面の複数のエリアに入力された文字列の組み合わせがユーザのパスワードに一致する場合に、ユーザ認証に成功と判定するステップと、
をコンピュータが実行することを特徴とする認証方法。
【請求項９】
ユーザのパスワード内の第１文字列を入力すべき第１エリアと、ユーザのパスワード内の第２文字列を入力すべき第２エリアを少なくとも含むパスワード入力画面であって、前記第２エリアは、提示された複数の候補文字列の中から前記第２文字列を選択すべきエリアであるパスワード入力画面を表示させる機能と、
前記パスワード入力画面の第１エリアに入力された文字列が前記第１文字列と一致する場合に、前記複数の候補文字列の中に前記第２文字列を含めるように前記パスワード入力画面の第２エリアを設定する機能と、
前記パスワード入力画面の複数のエリアに入力された文字列の組み合わせがユーザのパスワードに一致する場合に、ユーザ認証に成功と判定する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ処理技術に関し、特にユーザを認証する技術に関する。
【背景技術】
【０００２】
或るユーザＩＤと対応づけて予め登録されているパスワードと、コンピュータの操作者によって入力されたパスワードとが一致した場合に、操作者がそのユーザＩＤの使用者本人であると認識する認証手法が広く普及している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１１４７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
第三者によるパスワードの盗用を防止するために、一般的には、パスワードの文字数を長くすることが有効である。しかし、パスワードの文字数を長くすると、ユーザが自身のパスワードを記憶することが困難になり、パスワードの使い勝手が悪くなるという問題も生じる。
【０００５】
本発明は上記課題に鑑みてなされたものであり、主たる目的は、パスワードの堅牢性とユーザの利便性を両立した認証を実現する技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の認証システムは、第１文字列と第２文字列を少なくとも含むように定められたユーザのパスワードを保持するパスワード保持部と、第１文字列を入力すべき第１エリアと、第２文字列を入力すべき第２エリアを少なくとも含むパスワード入力画面であって、第２エリアは、提示された複数の候補文字列の中から第２文字列を選択すべきエリアであるパスワード入力画面を表示させる表示制御部と、パスワード入力画面の第１エリアに入力された文字列が第１文字列と一致する場合に、複数の候補文字列の中に第２文字列を含めるようにパスワード入力画面の第２エリアを設定する候補設定部と、パスワード入力画面の複数のエリアに入力された文字列の組み合わせがユーザのパスワードに一致する場合に、ユーザ認証に成功と判定する認証部と、を備える。
【０００７】
本発明の別の態様は、認証方法である。この方法は、ユーザのパスワード内の第１文字列を入力すべき第１エリアと、ユーザのパスワード内の第２文字列を入力すべき第２エリアを少なくとも含むパスワード入力画面であって、第２エリアは、提示された複数の候補文字列の中から第２文字列を選択すべきエリアであるパスワード入力画面を表示させるステップと、パスワード入力画面の第１エリアに入力された文字列が第１文字列と一致する場合に、複数の候補文字列の中に第２文字列を含めるようにパスワード入力画面の第２エリアを設定するステップと、パスワード入力画面の複数のエリアに入力された文字列の組み合わせがユーザのパスワードに一致する場合に、ユーザ認証に成功と判定するステップと、をコンピュータが実行する。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を、装置、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、パスワードの堅牢性とユーザの利便性を両立した認証を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態の情報システムの構成を示す図である。
【図２】図１の認証サーバの機能構成を示すブロック図である。
【図３】ＰＷＤ保持部に保持されるアカウント情報の構成を示す図である。
【図４】パスワード入力画面を模式的に示す図である。
【図５】認証サーバの動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、ある企業に構築された実施の形態の情報システム１０の構成を示す。情報システム１０は、ユーザ端末１２、業務サーバ１４、認証サーバ１６を備える。これらの装置は、ＬＡＮ・ＷＡＮ・インターネット等を含む通信網１８を介して接続される。
【００１２】
ユーザ端末１２は、企業の従業員（以下「ユーザ」とも呼ぶ。）により操作される情報端末である。ユーザ端末１２は、ＰＣやタブレット端末、スマートフォン等であってもよい。業務サーバ１４は、ユーザの業務を支援するための様々なサービスを提供し、また各サービスを利用するためのＵＩとなるウェブページを提供する情報処理装置である。
【００１３】
認証サーバ１６は、業務サーバ１４へアクセスするユーザ端末１２の使用者（すなわちユーザ）を、当該ユーザが入力したパスワードに基づいて認証する情報処理装置である。認証サーバ１６は、公知のウェブサーバの機能を備え、ユーザ認証のためのＵＩとなるウェブページを提供する。なお、実施の形態の認証処理を実現する認証システムは、認証サーバ１６の単体で実現されてもよく、認証サーバ１６とユーザ端末１２（例えばユーザ端末１２にインストールされたウェブブラウザ）等、複数の装置の連携により実現されてもよい。
【００１４】
図２は、図１の認証サーバ１６の機能構成を示すブロック図である。認証サーバ１６は、制御部２０、記憶部２２、通信部２４を備える。制御部２０は、パスワードを用いたユーザ認証のための各種データ処理を実行する。記憶部２２は、制御部２０により参照または更新されるデータを記憶する記憶領域である。通信部２４は、公知の通信プロトコルにしたがって外部装置と通信する。制御部２０は、通信部２４を介して、ユーザ端末１２および業務サーバ１４との間でデータを送受する。
【００１５】
本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００１６】
例えば、制御部２０の各ブロックに対応するモジュールを備える認証支援アプリケーションが認証サーバ１６のストレージへインストールされてもよい。認証サーバ１６のＣＰＵは、制御部２０の各ブロックに対応するモジュールをメインメモリに読み出して実行することにより、各ブロックの機能を発揮してもよい。また、記憶部２２の各機能ブロックは、認証サーバ１６のストレージやメモリ等の記憶装置がデータを記憶することにより実現されてもよい。
【００１７】
記憶部２２は、アカウント保持部２６と辞書保持部２８を含む。アカウント保持部２６は、ユーザのアカウント情報を保持する。図３は、アカウント保持部２６に保持されるアカウント情報の構成を示す。図３（ａ）は、アカウント情報の全体構成を示している。アカウント情報は、ユーザのＩＤとパスワードを対応づけたデータである。
【００１８】
図３（ｂ）と図３（ｃ）は、図３（ａ）のＰＷＤデータを詳細に示している。ＰＷＤデータにおける複数のＰＷＤ要素（図ではＰＷＤ要素Ａ〜ＰＷＤ要素Ｊ）には、パスワード文字列を構成する複数の要素文字列が品詞と対応づけて格納される。要素文字列は、例えばパスワード文字列を形態素の単位で分解した文字列であり、実施の形態では１つの単語を構成する文字列である。図３（ｂ）と図３（ｃ）は、ユーザのパスワード文字列が、「わたしははわいにふねでりょこうすることがすきだ」という日本語の文章である例を示している。
【００１９】
図２に戻り、辞書保持部２８は、複数種類の辞書（シソーラスとも言える）を保持する。辞書保持部２８に保持される複数種類の辞書は、複数の単語を各単語の品詞に対応づけて記録した国語事典や外国語辞典、また類義語辞典や対義語辞典等を含む。また、複数の単語を、概念や意味（例えば国、乗り物、食べ物、文房具等）の基準・単位で１つのグループにまとめたグループ情報を含む。
【００２０】
制御部２０は、表示制御部３０、ＰＷＤ登録部３６、ログイン画面生成部３８、候補設定部４０、認証部４２を含む。表示制御部３０は、認証サーバ１６のＵＩを制御し、例えばユーザ端末１２のウェブブラウザに表示させるウェブページを提供する。表示制御部３０は、ＰＷＤ登録画面提供部３２とログイン画面提供部３４を含む。
【００２１】
ＰＷＤ登録画面提供部３２は、パスワード登録画面のウェブページをユーザ端末１２へ送信して表示させる。パスワード登録画面は、ユーザに任意のパスワードを登録させるための画面であり、ＩＤ文字列の入力エリアとパスワード文字列の入力エリアを含む。認証サーバ１６に登録されるユーザのパスワードは、少なくとも２つの文字列の組み合わせである。具体的に実施の形態では、少なくとも４つ以上の単語を含む日本語の文章であり、かつ意味が通じる文章（例えば日本語の意味が成立する文章や、日本語の文法上妥当な文章）がパスワードとして登録されることとする。
【００２２】
ログイン画面提供部３４は、ユーザ認証のためのログイン画面のウェブページをユーザ端末１２へ送信して表示させる。実施の形態のログイン画面は、認証画面とも言え、ＩＤ入力画面とパスワード入力画面を含む。ＩＤ入力画面は、ユーザに自身のＩＤ（ログインＩＤ）を入力させるための画面であり、ＩＤ文字列の入力エリアを含む。パスワード入力画面は、ユーザに自身のパスワードを入力させるための画面であり、パスワードに含まれる複数の要素文字列を入力すべき複数の入力エリアを含む。パスワード入力画面の例は、図４に関連して後述する。
【００２３】
ＰＷＤ登録部３６は、パスワード登録処理を実行する。具体的には、パスワード登録画面に対して入力されたＩＤ文字列と対応づけて、パスワード登録画面に対して入力されたパスワード文字列をアカウント保持部２６へ格納する。
【００２４】
既述したように、実施の形態のパスワード文字列は、少なくとも4つ以上の単語を含む日本語の文章である。ＰＷＤ登録部３６は、パスワード文字列に対して公知の形態素解析処理を実行して、そのパスワード文字列を形態素ごとの文字列に分解する。これにより、日本語の文章であるパスワード文字列から複数の要素文字列を抽出する。ＰＷＤ登録部３６は、辞書保持部２８に格納された辞書を参照して、複数の要素文字列それぞれの品詞を識別し、要素文字列ごとにその品詞と対応づけてアカウント保持部２６へ格納する。この結果、図３（ｂ）（ｃ）で示したＰＷＤデータが記録される。
【００２５】
ログイン画面生成部３８は、ＩＤ入力画面のウェブページのデータと、パスワード入力画面のウェブページのデータとを生成してログイン画面提供部３４に渡す。図４（ａ）〜（ｃ）は、パスワード入力画面を模式的に示す。
【００２６】
図４（ａ）は、パスワード入力画面５０の一例を示している。パスワード入力画面５０は、パスワード文字列を構成する複数の要素文字列を入力するための複数の要素入力エリア５２（図４（ａ）の例では要素入力エリア５２ａ〜要素入力エリア５２ｌの１２個）を含む。図４（ａ）では、複数の要素入力エリア５２を縦に並べているが、横に並べてもよい。また図４（ａ）では、パスワード文字列が「わたしははわいにふねでりょこうすることがすきだ」である場合に、要素入力エリア５２ａ〜要素入力エリア５２ｌのそれぞれに正しい要素文字列が入力された状態を示している。パスワード入力画面５０の初期表示状態では、いずれの要素入力エリアも文字が未入力の状態（例えば要素入力エリア５２ｋで示す「−」）になる。
【００２７】
パスワード入力画面５０に配置される複数の要素入力エリア５２は、手入力エリアと選択入力エリアを含む。手入力エリアは、ユーザに要素文字列を手入力させるエリアであり、例えばキーボードやタッチパネル等を介して要素文字列をタイピング入力させるテキストエリアである。図４（ａ）のパスワード入力画面５０では、要素入力エリア５２ａ、要素入力エリア５２ｂ、要素入力エリア５２ｆ、要素入力エリア５２ｇ、要素入力エリア５２ｈ、要素入力エリア５２ｊ、要素入力エリア５２ｋ、要素入力エリア５２ｌが該当する。
【００２８】
選択入力エリアは、提示された複数の候補文字列の中から正しい要素文字列を選択入力すべきエリアであり、例えばドロップダウンリスト（プルダウンリストとも言える）として構成される。図４（ａ）のパスワード入力画面５０では、要素入力エリア５２ｃ、要素入力エリア５２ｄ、要素入力エリア５２ｅ、要素入力エリア５２ｉが該当する。図４（ｂ）と図４（ｃ）は、パスワード入力画面５０の各選択入力エリアにおいて選択可能に提示される候補文字列の例を示している。
【００２９】
ログイン画面生成部３８は、パスワード入力画面５０における複数の要素入力エリア５２のどれを手入力エリアとし、どれを選択入力エリアとするかを、パスワード入力画面５０の生成時に動的に決定する。例えば、複数の要素入力エリア５２のそれぞれについて擬似乱数を取得し、その擬似乱数に基づいて、各要素入力エリアを手入力エリアと選択入力エリアのいずれにするかランダムに決定してもよい。これにより、同じユーザの同じパスワードであっても、ユーザ認証の都度、手入力エリアの位置と選択入力エリアの位置が変わりうる。そのため、ユーザ本人以外の第三者によるユーザパスワードの推測や盗用を困難にできる。
【００３０】
ただし、ログイン画面生成部３８は、パスワード入力画面５０における複数の要素入力エリア５２のうち、少なくとも１つを手入力エリアに決定し、少なくとも１つを選択入力エリアに決定する。例えば、要素入力エリア５２の種類をランダムに決定した結果、全ての要素入力エリア５２の種類が手入力エリアになった場合は、少なくとも１つの要素入力エリア５２を選択入力エリアに変更する。逆の場合も同様である。このように、複数の要素入力エリア５２のうち少なくとも１つを手入力エリアとすることで、ユーザ本人以外の第三者によるユーザパスワードの推測や盗用を困難にできる。
【００３１】
なおログイン画面生成部３８は、パスワード文字列に含まれる要素文字列のうち名詞の要素文字列（すなわち名詞の単語）を入力すべき要素入力エリア５２について、その少なくとも１つを選択入力エリアに決定することが望ましい。例えば、要素入力エリア５２の種類をランダムに決定した結果、名詞の要素文字列が入力されるべき全ての要素入力エリア５２の種類が手入力エリアになった場合は、名詞の要素文字列が入力されるべき要素入力エリア５２の少なくとも１つを選択入力エリアに変更してもよい。
【００３２】
認証サーバ１６に登録されるパスワード文字列は比較的長いため、ユーザは自身のパスワードを思い出すことが容易でないこともある。そこで、名詞の要素文字列を入力すべき要素入力エリア５２を選択入力エリアに設定し、ユーザに対して候補文字列を提示する。例えば、図４（ｂ）の要素入力エリア５２ｃでは「ふらんす」「はわい」「ぶらじる」を提示している。これにより、ユーザに自身のパスワードを思い出させやすくなり、パスワードの使い勝手を向上させることができる。
【００３３】
またログイン画面生成部３８は、ユーザのパスワード文字列がｎ個の要素文字列を含む場合に、少なくとも（ｎ＋１）個の要素入力エリア５２を含むパスワード入力画面５０を生成する。言い換えれば、少なくとも（ｎ＋１）個の要素入力エリア５２をパスワード入力画面５０に配置する。図４（ａ）のパスワード入力画面５０では、要素文字列の個数が１０であるところ、１２個の要素入力エリア５２が配置されている。このように、文字列を入力すべきでない要素入力エリア５２（以下「ダミー入力エリア」とも呼ぶ。）をパスワード入力画面５０に設けることで、ユーザ本人以外の第三者によるユーザパスワードの推測や盗用を困難にできる。また、パスワード入力画面５０上の要素入力エリア５２の個数を見ただけでは、パスワードの要素文字列の個数を特定することを困難にできる。
【００３４】
変形例として、ログイン画面生成部３８は、パスワード入力画面５０に配置するダミー入力エリアの個数を、パスワード入力画面５０の生成時にランダムに決定してもよい。例えば、ユーザのパスワード文字列がｎ個の要素文字列を含む場合、パスワード入力画面５０に配置する要素入力エリア５２の個数を、（ｎ＋１）個、（ｎ＋２）個、（ｎ＋３）個の中からランダムに決定してもよい。言い換えれば、ダミー入力エリアの個数を１〜３個の中からランダムに決定してもよい。これにより、パスワードの要素文字列の個数の特定を一層困難にして、ユーザ本人以外の第三者によるユーザパスワードの推測や盗用を一層困難にできる。
【００３５】
パスワード入力画面５０における複数の要素入力エリア５２のうち少なくとも１つは、「キー入力エリア」として設定される。実施の形態では、キー入力エリアは手入力エリアとして設定される。キー入力エリアに入力される文字列（以下「キー文字列」とも呼ぶ。）の正否は、選択入力エリアで選択肢として提示する候補文字列に正しい要素文字列を含めるか否かの条件となる。実施の形態では、パスワード文字列中の先頭の要素文字列をキー文字列とする。例えば、図４（ａ）のパスワード入力画面５０では、要素入力エリア５２ａがキー入力エリアであり、要素入力エリア５２へ入力される文字列がキー文字列になる。
【００３６】
パスワード入力画面５０のウェブページのデータは、ウェブページの更新（例えばフォームの送信）とは非同期に、キー入力エリアへ入力されたキー文字列を認証サーバ１６へ送信するＪａｖａｓｃｒｉｐｔ（登録商標）コードを含む。このＪａｖａｓｃｒｉｐｔコードは、いわゆるＡｊａｘ（Asynchronous JavaScript + XML）通信を実行する。例えば、キー入力エリアへの文字列入力を検出した際に（例えばキー入力エリアが入力状態から非入力状態へ変化したことを検出した際に）、キー文字列を認証サーバ１６へ送信するようにウェブブラウザを制御するスクリプトであってもよい。
【００３７】
またパスワード入力画面５０のウェブページのデータは、認証サーバ１６から提供された候補文字列をパスワード入力画面５０の選択入力エリアへ動的に設定するＪａｖａｓｃｒｉｐｔコードを含む。選択入力エリアに設定すべき候補文字列は、キー文字列を認証サーバ１６へ送信したＡｊａｘ通信の応答として認証サーバ１６から提供されてもよい。
【００３８】
図２に戻り、候補設定部４０は、パスワード入力画面５０に配置された選択入力エリアのそれぞれに対して複数の候補文字列を設定する。具体的には、候補設定部４０は、パスワード入力画面５０に入力されたキー文字列を取得し、そのキー文字列が正しいか否かを判定する。既述したように、実施の形態のキー文字列は先頭の要素入力エリア５２に入力された文字列である。そのため実施の形態の候補設定部４０は、取得したキー文字列が、アカウント保持部２６に格納されたパスワード文字列中の先頭の要素文字列（例えば図３（ｂ）のＰＷＤ要素Ａの文字列）に一致する場合、キー文字列が正しいと判定する。
【００３９】
キー文字列が正しい場合、候補設定部４０は、選択入力エリアに設定する複数の候補文字列の中に正しい要素文字列を含める。図４（ｂ）は、キー文字列が正しい場合の候補文字列の例を示している。例えば、候補設定部４０は、要素入力エリア５２ｃの候補文字列の中に、正しい要素文字列である「はわい」を含める。
【００４０】
その一方、キー文字列が不正の場合、候補設定部４０は、選択入力エリアに設定する複数の候補文字列のいずれにも正しい要素文字列とは異なる文字列を設定する。言い換えれば、選択入力エリアで提示する選択肢を全て不正の文字列に設定する。図４（ｃ）は、キー文字列が不正の場合の候補文字列の例を示している。例えば、候補設定部４０は、要素入力エリア５２ｃの候補文字列に、正しい要素文字列である「はわい」を含めず、不正な文字列である「ふらんす」「あめりか」「ぶらじる」を設定する。
【００４１】
また候補設定部４０は、辞書保持部２８の辞書を参照して、選択入力エリアに入力されるべき正しい要素文字列に対応した候補文字列を決定する。具体的には、候補設定部４０は、アカウント保持部２６を参照して要素文字列の品詞を識別し、辞書保持部２８の辞書を参照して正しい要素文字列と同じ品詞の文字列を候補文字列として決定する。例えば、要素文字列が名詞の文字列であれば候補文字列には名詞の文字列を設定し、要素文字列が助詞の文字列であれば候補文字列には助詞の文字列を設定する。
【００４２】
さらに候補設定部４０は、要素文字列と品詞が同じで、かつ、類義語または対義語にあたる文字列を候補文字列として決定してもよい。さらに候補設定部４０は、要素文字列と品詞が同じで、かつ、日本語文章中での役割（機能）が同じ文字列を候補文字列として決定してもよい。さらにまた候補設定部４０は、要素文字列と異なる文字列であるが、同じ概念でグループ化される文字列や類似する意味を表す文字列を候補文字列として決定してもよい。さらにまた候補設定部４０は、要素文字列の表現態様が複数存在する場合に、候補文字列の表現態様を要素文字列の態様に一致させてもよい。例えば、要素文字列が仮名表記であれば仮名表記の候補文字列を決定し、要素文字列が片仮名表記であれば片仮名表記の候補文字列を決定してもよい。
【００４３】
図４（ｂ）と図４（ｃ）を参照して候補文字列の例を説明する。要素入力エリア５２ｃでは、要素文字列「はわい」に対して、同じく国名を表す候補文字列が設定されている。また要素入力エリア５２ｄでは、要素文字列「に」に対して、同じ格助詞を表す候補文字列が設定されている。また要素入力エリア５２ｅでは、要素文字列「ふね」に対して、同じく乗り物を表す候補文字列が設定されている。また要素入力エリア５２ｉでは、要素文字列「が」に対して、同じ係助詞を表す候補文字列が設定されている。
【００４４】
このように、選択入力エリアの候補文字列として、日本語の文法・意味・外観等の観点から要素文字列に対応する文字列を設定することにより、選択入力エリアのいずれの候補文字列を選択しても意味が成立しやすくなる。これにより、ユーザ本人以外の第三者によるユーザパスワードの推測や盗用を一層困難にできる。なお、実施の形態では、選択入力エリアの複数の候補文字列のいずれにも、日本語の文法や意味の観点から要素文字列に対応する文字列を設定する。変形例として、選択入力エリアの少なくとも２つの候補文字列（このうち１つは要素文字列そのものかもしれない）として、日本語の文法や意味の観点から要素文字列に対応する文字列を設定してもよい。
【００４５】
認証部４２は、パスワード入力画面５０の複数の要素入力エリア５２に入力された文字列の組み合わせが、アカウント保持部２６に格納されたユーザのパスワードに一致する場合に、ユーザ認証に成功したと判定する。例えば、個々の手入力エリアに入力された文字列と各要素文字列を比較し、また、個々の選択入力エリアで選択された候補文字列と各要素文字列を比較し、いずれも一致する場合に、ユーザの認証に成功したと判定してもよい。認証サーバ１６は、認証部４２によるユーザ認証の成否に応じて、業務サーバ１４へのリダイレクト処理や、ログイン失敗画面の提供等、所定の後処理を実行する。
【００４６】
以上の構成による情報システム１０の動作を説明する。
１．パスワード登録時：
ユーザは、ユーザ端末１２のウェブブラウザを起動し、社内のポータルサイト等においてパスワード登録メニューを選択する。ユーザ端末１２のウェブブラウザは、パスワード登録画面を認証サーバ１６へ要求し、認証サーバ１６のＰＷＤ登録画面提供部３２は、パスワード登録画面のウェブページをユーザ端末１２へ提供して表示させる。ユーザは、予め自身に付与されているＩＤと、任意のパスワード（実施の形態では４つ以上の単語を含む日本語の文章）をパスワード登録画面へ入力し、登録ボタンを押下する。
【００４７】
ユーザ端末１２のウェブブラウザは、パスワード登録画面に入力されたＩＤとパスワードを対応づけて認証サーバ１６へ送信する。認証サーバ１６のＰＷＤ登録部３６は、ユーザ端末１２から送信されたユーザのＩＤとパスワードを対応づけてアカウント保持部２６へ格納する。その際にＰＷＤ登録部３６は、パスワード文字列に対して形態素解析処理を実行し、パスワード文字列から複数の要素文字列を抽出し、各要素文字列をその品詞と対応づけてアカウント保持部２６へ記録する。
【００４８】
２．ユーザ認証時：
図５は、認証サーバ１６の動作を示すフローチャートである。以下、図５を参照しつつユーザ認証時の動作を説明する。
ユーザは、ユーザ端末１２のウェブブラウザを起動し、社内のポータルサイト等から業務支援ページの表示を選択する。ユーザ端末１２のウェブブラウザは、業務支援ページの提供を業務サーバ１４へ要求する。業務サーバ１４は、要求元ユーザの認証が未完了であることを検出し、認証サーバ１６のログインページへのリダイレクト応答をユーザ端末１２へ返す。ユーザ端末１２のウェブブラウザは、リダイレクト応答にしたがって、所定のログイン要求（言い換えれば認証要求）を認証サーバ１６へ送信する。
【００４９】
ユーザ端末１２から送信されたログイン要求を受け付けると（Ｓ１０のＹ）、認証サーバ１６のログイン画面生成部３８は、ＩＤ入力画面のウェブページを生成し、ログイン画面提供部３４は、ＩＤ入力画面のウェブページをユーザ端末１２へ送信して表示させる（Ｓ１２）。ユーザは、ＩＤ入力画面へ自身のＩＤを入力して送信ボタンを押下する。ユーザ端末１２のウェブブラウザは、ＩＤ入力画面に入力されたＩＤ文字列を認証サーバ１６へ送信する。認証サーバ１６のログイン画面生成部３８は、ユーザ端末１２から送信されたＩＤ文字列を取得し、アカウント保持部２６でそのＩＤに対応づけられたパスワードの各要素文字列を特定する（Ｓ１４）。
【００５０】
ログイン画面生成部３８は、パスワードの要素文字列の個数に応じて、パスワード入力画面５０に配置する要素入力エリアの個数を決定する。そして、要素入力エリアのそれぞれを手入力エリアまたは選択入力エリアにランダムに決定する（Ｓ１６）。ログイン画面生成部３８は、複数の要素入力エリアを配置したパスワード入力画面のウェブページデータを生成し、ログイン画面提供部３４は、パスワード入力画面のウェブページをユーザ端末１２へ送信して表示させる（Ｓ１８）。
【００５１】
ユーザ端末１２のウェブブラウザは、パスワード入力画面のウェブページに設定されたＪＡＶＡスクリプトコードを実行し、キー入力エリアに文字列が入力された際にその入力文字列をキー文字列として認証サーバ１６へ送信する。認証サーバ１６の候補設定部４０は、ユーザ端末１２から送信されたキー文字列を取得し、そのキー文字列の正否を判定する（Ｓ２０）。例えば、ユーザのパスワードが図３に示す「わたしははわいにふねでりょこうすることがすきだ」である場合、取得したキー文字列が「わたし」であればキー文字列が正しいと判定する。その一方、キー文字列が「わたし」以外であればキー文字列が不正と判定する。
【００５２】
候補設定部４０は、キー文字列の正否に応じて、パスワード入力画面に配置された選択入力エリアのそれぞれで提示する候補文字列を設定する。具体的には、キー文字列が正しい場合（Ｓ２２のＹ）、候補設定部４０は、正しい要素文字列（例えば「はわい」）を含む複数の候補文字列（例えば「ふらんす」「はわい」「ぶらじる」）を決定する（Ｓ２４）。その一方、キー文字列が不正の場合（Ｓ２２のＮ）、候補設定部４０は、正しい要素文字列（例えば「はわい」）を含まない複数の候補文字列（例えば「ふらんす」「あめりか」「ぶらじる」）を決定する（Ｓ２６）。候補設定部４０は、決定した候補文字列を、当該候補文字列を設定すべき選択入力エリアの識別情報と対応づけてユーザ端末１２へ送信する。ユーザ端末１２のウェブブラウザは、認証サーバ１６から送信された候補文字列を、識別情報が示す選択入力エリアの選択肢として設定する。
【００５３】
ユーザは、パスワード入力画面５０のキー入力エリア以外（実施の形態では２番目以降）の要素入力エリアに対するパスワード入力を続行する。例えば、手入力エリアに対してはキーボード等によりパスワードの要素文字列を手入力し、選択入力エリアに対しては当該エリアで提示された候補文字列の中からパスワードの要素文字列を選択する。ユーザは、各要素入力エリアへのパスワードの入力が完了すると送信ボタンを押下する。ユーザ端末１２のウェブブラウザは、パスワード入力画面５０の各要素入力エリアに入力されたパスワード文字列を認証サーバ１６へ送信する。このとき、複数の要素入力エリアへ入力された複数の文字列を結合して送信してもよく、複数の文字列を結合することなく送信してもよい。
【００５４】
認証サーバ１６の認証部４２は、ユーザ端末１２から送信されたパスワード文字列を受け付けると、先にＩＤ入力画面へ入力されたユーザのＩＤに対応づけられたユーザのパスワードをアカウント保持部２６から取得する（Ｓ２８）。ユーザ端末１２から送信されたパスワード文字列が正しければ（Ｓ３０のＹ）、認証部４２は、ユーザ認証に成功と判定し、ユーザのログインを許可する（Ｓ３２）。例えば、ユーザ認証に成功した旨を業務サーバ１４へ通知し、ユーザが当初アクセスした業務支援ページを業務サーバ１４からユーザ端末１２へ提供させてもよい。その一方、ユーザ端末１２から送信されたパスワード文字列が不正であれば（Ｓ３０のＮ）、ユーザ認証に失敗と判定し、ユーザのログインを拒否する（Ｓ３４）。例えば、ＩＤまたはパスワードが不正である旨のウェブページをユーザ端末１２へ送信してもよい。ユーザ端末１２からログイン要求を受け付けなければ（Ｓ１０のＮ）、認証サーバ１６は本図のフローを終了する。
【００５５】
実施の形態の認証サーバ１６によると、パスワード入力画面の要素入力エリアの少なくとも１つを選択入力エリアとする。これにより、パスワードの堅牢性を高めるために長いパスワード文字列が登録された場合でも、パスワードの一部をユーザに提示することで、ユーザに自身のパスワードを喚起させやすくなり、パスワードを忘れてしまい不便をきたす事態を回避しやすくなる。なお、パスワードを４単語以上の日本語文章とすることで、ある程度のパスワードの長さを担保しやすくなり、また、パスワードをユーザの記憶に定着させやすくなる。
【００５６】
また、認証サーバ１６によると、パスワード入力画面に入力されたキー文字列が正しいことを条件として、正しい要素文字列を含む複数の候補文字列を選択入力エリアで提示する。逆に、キー文字列が不正であれば、選択入力エリアで提示する候補文字列から正しい要素文字列を除外する。これにより、ユーザ本人以外の第三者によるユーザパスワードの推測や盗用を困難にできる。例えば、その第三者に対し、選択入力エリアの候補文字列としてパスワードの一部を提示してしまうことを防止しやすくなる。なお、認証サーバ１６は、キー文字列が不正であることが判明した時点では認証失敗を提示しない。これにより、ユーザ本人以外の第三者が最終的に認証に失敗した場合に、入力したパスワードのどの部分が誤りかを推測することを困難にできる。
【００５７】
また、実施の形態のパスワード入力画面では、パスワードの先頭の要素文字列を入力すべき要素入力エリアがキー入力エリアに設定される。一般的にユーザはパスワードをその先頭から入力するため、この構成によると、自然なパスワードの入力順序を維持し、ユーザに違和感を抱かせにくくなる。
【００５８】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下変形例を示す。
【００５９】
第１変形例を説明する。上記実施の形態では、キー文字列の正否を認証サーバ１６が判定し、その正否に応じた選択入力エリアの候補文字列を認証サーバ１６からユーザ端末１２へ提供した。変形例として、キー文字列の正否判定および候補文字列の決定処理をユーザ端末１２のウェブブラウザが実行してもよい。この場合、認証サーバ１６のログイン画面生成部３８は、キー文字列の正否判定および候補文字列の決定処理をウェブブラウザに実行させるプログラムを、パスワード入力画面のウェブページデータに設定してもよい。
【００６０】
具体的には、このプログラムは、キー入力エリアの正しい要素文字列と、キー文字列が正しい場合の候補文字列、キー文字列が不正の場合の候補文字列を含んでもよい。またこのプログラムは、キー文字列の取得および正否判定と、キー文字列の正否に応じた候補文字列を選択入力エリアへ設定する処理を実行するＪａｖａｓｃｒｉｐｔコードとして実装されてもよい。この変形例では、ユーザ端末１２のウェブブラウザが、パスワード入力画面のＪａｖａｓｃｒｉｐｔコードを実行することにより、図５のＳ２０〜Ｓ２６の処理を実行してもよい。
【００６１】
第２変形例を説明する。上記実施の形態では言及していないが、認証サーバ１６のＰＷＤ登録部３６は、ユーザが登録したパスワード文字列を自動的に分割した結果の複数の要素文字列を、登録元のユーザへ提示してもよい。言い換えれば、パスワード入力画面の複数の要素入力エリアに入力すべき複数の要素文字列をユーザへ提示してもよい。また、登録されたパスワード文字列における分割位置（区切り位置）をユーザへ提示してもよい。例えば、ＰＷＤ登録部３６は、パスワード登録要求に対する応答として、パスワード文字列から自動的に抽出した複数の要素文字列を示すウェブページや電子メールをユーザ端末１２へ送信して表示させてもよい。これにより、パスワードを登録したユーザに対して、パスワード入力画面の各要素入力エリアへ入力すべき正しい要素文字列を提示できる。
【００６２】
第３変形例を説明する。上記実施の形態では、認証サーバ１６のＰＷＤ登録部３６が、ユーザが登録したパスワード文字列から自動的に複数の要素文字列を抽出した。変形例として、パスワード登録時に、パスワード文字列中の個々の要素文字列を設定することをユーザ自身に実施させてもよい。例えば、ＰＷＤ登録画面提供部３２は、複数個の要素文字列の入力エリアを設けたパスワード入力画面をユーザ端末１２へ提供し、ユーザに個々の要素文字列に分割した態様でパスワードを登録させてもよい。本変形例においても、４つ以上の単語を組み合わせた日本語文章のパスワードが登録されることが望ましい。なお、各要素文字列の品詞はユーザ自身が設定してもよく、認証サーバ１６のＰＷＤ登録部３６が、辞書保持部２８の辞書を参照して自動設定してもよい。
【００６３】
第４変形例を説明する。パスワード入力画面におけるキー入力エリアは、パスワードを構成する複数の要素文字列を入力すべき複数の要素入力エリアのうち、先頭以外の要素入力エリアであってもよい。ログイン画面生成部３８は、パスワード入力画面の生成時に、キー入力エリアの位置をランダムに決定し、キー入力エリアの位置を示すデータをパスワード入力画面に設定してもよい。例えば、先頭から３番目の要素入力エリアをキー入力エリアに決定した場合、先頭から３番目の要素入力エリアに対して最初にパスワードの要素文字列を入力するよう促すメッセージをパスワード入力画面のウェブページデータに設定してもよい。
【００６４】
第５変形例を説明する。パスワード入力画面におけるキー入力エリアが選択入力エリアに設定されてもよい。認証サーバ１６の候補設定部４０は、正しい要素文字列を含むようにキー入力エリアで提示する複数の候補文字列を決定し、ログイン画面生成部３８は、候補設定部４０により決定された候補文字列を提示するキー入力エリアを含むパスワード入力画面を生成する。なお、本変形例のパスワード入力画面には、キー入力エリア以外に少なくとも１つの選択入力エリアが設定される。認証サーバ１６の候補設定部４０は、実施の形態と同様に、キー入力エリアで正しいキー文字列（すなわち要素文字列に一致する候補文字列）が選択されたことを条件として、キー入力エリア以外の選択入力エリアに対して正答を含む候補文字列を設定する。
【００６５】
第６変形例を説明する。ユーザのパスワードにおいて、キー文字列に該当する要素文字列以外で、名詞の要素文字列が複数存在する場合、認証サーバ１６のログイン画面生成部３８は、それら複数の名詞の要素文字列を入力すべき複数の要素入力エリアのうち、少なくとも１つを選択入力エリアとし、少なくとも１つを手入力エリアとして決定してもよい。選択入力エリアで名詞の候補文字列を提示することにより、ユーザに自身のパスワードを喚起させやすくなる。また、ユーザ本人以外の第三者が、正しい名詞の要素文字列を推測に基づき手入力することは困難であるため、パスワードの盗用を防止しやすくなる。
【００６６】
第７変形例を説明する。パスワード入力画面に配置されたダミー入力エリアの少なくとも１つを選択入力エリアに設定してもよい。認証サーバ１６の候補設定部４０は、パスワード入力画面に入力されたキー文字列の正否にかかわらず、ダミー入力エリアとしての選択入力エリアで提示する候補文字列として、不正な候補文字列（例えばランダムに選択した単語等）を設定してもよい。この場合、ダミー入力エリアとしての選択入力エリアに対してはデータを入力しないこと（すなわち候補文字列を未選択であること）が正しい。しかし、ユーザ本人以外の第三者は、ダミー入力エリアとしての選択入力エリアにおいて何らかの候補文字列を選択しやすい。したがって、この構成によると、ユーザ本人以外の第三者によるパスワードの推測や盗用を困難にできる。
【００６７】
第８変形例を説明する。上記実施の形態では言及していないが、認証サーバ１６のログイン画面提供部３４または候補設定部４０は、パスワード入力画面に配置された選択入力エリアを、その初期状態において、言い換えれば、キー入力エリアへ未入力の間、候補文字列を提示しないように設定することが望ましい。または、正しい要素文字列を含まない不正な候補文字列のみを提示するように設定することが望ましい。これにより、ユーザ本人以外の第三者が、パスワード入力画面５０における選択入力エリアの候補文字列を見て、パスワードを推測することを困難にできる。
【００６８】
第９変形例を説明する。上記実施の形態では言及していないが、パスワード入力画面に選択入力エリアを設ける実施の形態の認証方法は、所定回数の認証失敗によりユーザのアカウントをロックする構成との組み合わせが好適である。例えば、認証サーバ１６は、ユーザのＩＤと認証失敗回数を対応づけて記憶し、ＩＤ入力画面で入力されたＩＤの認証失敗回数が所定回数に達した場合、ＩＤ入力画面以降のパスワード入力画面の提供を抑制してもよい。これにより、ユーザ本人以外の第三者が、ユーザアカウントでのログインを、選択入力エリアでの選択内容を切り替えつつ何度も試行することを防止できる。
【００６９】
第１０変形例を説明する。上記実施の形態の候補設定部４０は、選択入力エリアで選択されるべき正しい要素文字列と同じ品詞の文字列を、その選択入力エリアに設定する候補文字列として決定した。変形例として、候補設定部４０は、選択入力エリアで選択されるべき正しい要素文字列とは異なる品詞の文字列を、その選択入力エリアに設定する候補文字列の少なくとも１つに含めてもよい。また、候補設定部４０は、選択入力エリアで提示する候補文字列を全て違う品詞の文字列に設定してもよい。候補文字列の１つに正しい要素文字列を含める場合は、他の候補文字列として、正しい要素文字列とは異なる品詞の文字列であり、かつ、互いに異なる品詞の文字列を決定してもよい。
【００７０】
ユーザにより認証サーバに登録されるパスワードは、必ずしも意味が通じる文章であるとは限らない。例えば、文法的に正しくない文字列の羅列がパスワードとして登録されるかもしれない。このような場合に、選択入力エリアで選択されるべき正しい要素文字列とは品詞が異なる文字列を候補文字列に含めることで、ユーザ本人以外の第三者によるユーザパスワードの推測や盗用を一層困難にできる。なお、選択入力エリアで提示する複数の候補文字列の品詞を、「名詞」「動詞」「形容詞」のように全て異ならせることで、第三者による推測や盗用をさらに一層困難にできる。
【００７１】
上記実施の形態では、ユーザのパスワードとして、４つ以上の単語を含む日本語文章が登録されることとした。ただし、実施の形態の認証技術は、日本語以外の言語で記述されたパスワードにも適用可能である。例えば、ユーザのパスワードとして、４つ以上の単語を含む英語文章が登録されてもよい。また、実施の形態の認証技術は、ユーザのパスワードが少なくとも２つの文字列を含むものであれば実現可能である。また、パスワードを構成する各文字列は必ずしも意味を有する単語でなくてもよく、例えば、意味をなさない文字の羅列であってもよい。
【００７２】
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００７３】
１０  情報システム、  １２  ユーザ端末、  １６  認証サーバ、  ２６  アカウント保持部、  ２８  辞書保持部、  ３０  表示制御部、  ３２  ＰＷＤ登録画面提供部、  ３４  ログイン画面提供部、  ３６  ＰＷＤ登録部、  ３８  ログイン画面生成部、  ４０  候補設定部、  ４２  認証部。
【図１】
2017161999.tif 000003
【図２】
2017161999.tif 000004
【図３】
2017161999.tif 000005
【図４】
2017161999.tif 000006
【図５】
2017161999.tif 000007